2012-03-28 2 views
0

Я пытаюсь работать с чем-то вроде этого: (мне нужно разделить таблицу пользователей)DataMapper CodeIgniter Отношение один к одному

=================== 

table users 


id | pseudo | password 
id PK 

=================== 

table users_infos 

user_id | stats | etc etc 
user_id FK (>users>id) 

=================== 

model user 

$has_one = array('users_info) 

model users_info 

$has_one = array('user) 

// 

Мой вопрос здесь идет из таблицы users_infos. Без поля Id я не могу использовать метод сохранения для обновления. Я пытаюсь переписать столбец user_id на id, но затем я потеряю внешний ключ от DataMapper. Каков наилучший способ исправить это?

ответ

0

Вы можете попробовать сделать это одним из многих отношений, сделав поле users_info_id на пользовательской таблице и сделать его уникальным.

также изменить user_id поля на users_info только идентификатор

Модель должна быть такой: модель пользователя $ has_one = массив ('users_info')

model users_info 
$has_one = array('user') 

Таким образом, он должен работать.

0

Каждая таблица должна иметь столбец «id», это необходимо.

В идеале это определяется как автоматическое приращение, и оно не всегда должно иметь значение, «идентификатор» - это просто способ однозначной идентификации правильной строки таблицы.

Вам необходимо определить отношения в обоих направлениях, поэтому предыдущий ответ не будет работать.

Смежные вопросы