[英]display data from two tables using inner join in cakephp
我正在使用cakephp。 我有兩個表的名稱和性別。 我要顯示性別名稱。 但姓名只與男性一起顯示。 性別上也有女性,但未被選中。 我的代碼如下。
$this->loadModel("names");
$modelmerge = $this->names->bindModel(array
(
'belongsTo' => array
(
'genders' => array
(
'foreignKey' => false,
'conditions' => array
(
'genders.id = names.genders_id'
)
)
)
));
$this->set("names", $this->names->find('all', array('limit' => 10)));
僅在names.genders_id = 1個其余未選中的地方選擇此選項。 請指導。
我假設您使用的是CakePHP的舊版本,或者您使用的是錯誤的命名約定。
$modelmerge = $this->names->bindModel(
array(
'belongsTo' => array(
'genders' => array(
'classname' => 'Genders',
'foreignKey' => genders_id
)
)
)
);
$names = $this->names->find('all', array(
'limit' => 10,
'recursive' => 0
));
$this->set("names", $names);
以下可能會起作用。 但是,我建議您閱讀有關Models / DB列 , Model Associations和Containable Behavior的命名 。 這些鏈接適用於2.x版本,但我認為您可能使用的是1.3或更早版本,因此請參考舊書。
你可以不用bindModel就可以做到
$this->names->find('all',
array(
'limit' => 10,
'joins' =>
array(
array(
'table' => 'genders',
'type' => 'INNER',
'conditions' => array('genders.id = names.genders_id')
),
),
)
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.