我有 2 个关于模型的表,Table1 和 Table2 表 1 上的列
ID | Content1
表2上的列
ID | table1_id | Content2
我想在Table2上显示Table1中的内容,如何加入列?
提前致谢!
最佳答案
模型\Model1.php
<?php
App::uses('AppModel', 'Model');
class Model1 extends AppModel {
public $useTable = 'table1';
}
模型\Model2.php
<?php
App::uses('AppModel', 'Model');
class Model2 extends AppModel {
public $useTable = 'table2';
public $belongsTo = array(
'Model1' => array(
'className' => 'Model1',
'foreignKey' => 'table1_id'
)
);
}
在 Controller 中:
$data = $this->Model2->find('all');
生成的查询将是
SELECT `Model2`.`id`, `Model2`.`table1_id`, `Model2`.`content2`, `Model1`.`id`, `Model1`.`content1` FROM `db`.`table2` AS `Model2` LEFT JOIN `cake244`.`table1` AS `Model1` ON (`Model2`.`table1_id` = `Model1`.`id`) WHERE 1 = 1
关于php - CakePHP,如何从另一个表获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21594586/