DataMapper CodeIgniter Отношение один к одному - PullRequest
0 голосов
/ 28 марта 2012

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

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

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.Каков наилучший способ исправить это?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2012

В каждой таблице должен быть столбец id, это обязательно.

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

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

0 голосов
/ 31 марта 2012

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

также измените поле user_id на users_info на id

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

model users_info
$has_one = array('user')

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

...