我有一些包含多个关联的表产品 例如:
我希望用于查看有条件的产品的所有数据
这是产品型号:
<?php
class Product extends Model {
public $hasAndBelongsToMany = array('Label','PircingScale');
public $hasMany = array('LabelR','PircingScaleR');
}
标签型号:
<?php
class Label extends Model {
public $hasAndBelongsToMany = array('Product');
}
关系模型:
<?php
class LabelR extends Model {
public $useTable = 'labels_products';
public $belongsTo = array('Product','Label');
}
与pircing_scale模型相同
现在我在索引控制器上进行查找:
<?php
class IndexController extends AppController {
public $uses = array('Product','Label','PircingScale');
public function index() {
$this->set('lastNewProduct', $this->Product->LabelR->find('all', array(
'conditions' => array('Label.id' => 1),
'limit' => 3,
)));
}
}
在我看来,我想在pircing_scale中显示有关所有产品的信息
答案 0 :(得分:0)
Containable behavior是一项核心行为,旨在让您定义查找结果的范围。
要使用它,只需将其添加到您要查询的模型中,或者将AppModel添加到任何模型中即可。
然后你的发现电话看起来像这样:
$this->Product->LabelR->find('all', array(
'contain' => array(
'Label',
'Product' => array(
'PircingScale'
)
),
'conditions' => array('Label.id' => 1),
'limit' => 3,
));