Многие ко многим DataMapper CodeIgniter
Я застрял, и чтение документации, кажется, не помогает мне.
У меня работают отношения один ко многим, хотя я уверен, что есть более простой путь, я застрял, когда дело касается отношений "Многие ко многим".
Я пробовал довольно много вещей, но в основном у меня есть три таблицы:
homes:
- id
- address_id
- price
- etc
features:
- id
- name
features_homes
- id
- feature_id
- home_id
Я настроил свою модель несколькими разными способами.
var $has_many = array(
'feature' => array(
'class' => 'feature',
'other_field' => 'home',
'join_self_as' => 'home',
'join_other_as' => 'feature',
'join_table' => 'features_homes'
)
);
И основная версия
var $has_many = array('feature');
Проблема в том, что я не могу понять, как получить несколько записей, связанных с домом.
В итоге я получаю один предмет, а не группу предметов.
Пример вывода:
[id] => 1
[address_id] => 1
[latlong] => 00.000, -00.00000
...
[feature_id] => 1
[feature_name] => Hard Wood Floors
Я пытаюсь получить
[id] => 1
[address_id] => 1
[latlong] => 00.000, -00.00000
...
[features] => // Object of all items
1 ответ
Вы связываете один объект с другим, связывая их при сохранении.
Вы можете сделать это несколько раз:
$parent = new Parent(1);
$childA = new Child(1);
$childB = new Child(2);
$parent->save($childA); $parent->save($childB);
Или передав массив:
$parent = new Parent(1);
$children = array(
new Child(1),
new Child(2),
);
$parent->save($children);