[英]Many to Many 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
通过在保存时链接对象,可以将一个对象与另一个对象相关联。
您可以多次执行此操作:
$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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.