CakePHP: 深层次模型绑定示例

来源:互联网 发布:max30100中文数据手册 编辑:程序博客网 时间:2024/06/05 03:45

使用recursive=2可以递归获取深层次关联模型数据,但是没办法设置获取数据的字段和查询条件。

ContainableBehavior是为了解决这个问题而引入的。类似的还有LinkableBehavior。

下面是一个简单的示例。

关系如下:

Deal(hasMany)DealToVendorBranch(belongs to)VendorBranch('')


代码如下:                   

$this->paginate['Deal']['contain']['DealToVendorBranch']=array(
                        'VendorBranch' => array(
                            'VendorBranchDetail' => array('fields' => array('name','address')),
                            'fields' => array('is_primary'),
            )

);


提示:

1) contain关键字只需要在最上层使用;

2) 在ContainableBehavior中只有'fields'和'conditions'起作用,'limit', 'recursive', 'group'和'order'不能正常工作;

3) 不需要设置recursive, ContainableBehavior默认设置递归关系


iefreer