这两天在看thinkphp的关联模型这一块,跟着开发文档做,但是一直不能实现关联查询。
关联模型配置如下:
namespace Home\Model;
use Think\Model\RelationModel;
class TestModel extends RelationModel {
protected $_link = array(
'Ttt'=>array(
'mapping_type' => self::HAS_MANY,
'class_name' => 'ttt',
'foreign_key' => 'TestId',
)
);
}
遇到两个问题:
1、按照开发文档的说法,实在搞不清楚'foreign_key'的定义,测试了好几次,终于明白了这个字段应该是被关联的表的外键,如上述代码中的'foreign_key'应该是'ttt'表中的‘TestId’字段,这个字段应该就相当于表'Test'的主键;
2、配置完成后,一直无法实现关联查询:
$m=D('Test');
$return=$m->relation(true)->select();
一直找不到原因,后来开启'PAGE_TRACE',查看sql语句,终于找到线索: