关于关联模型的问题
求助, 我现在有这么三个表
Passage model 里面这么写的
然后我想把这三个表关联起来, 就这么写
passage
id | uid | type_id | content
users
id | username
type
id | typename
Passage model 里面这么写的
public function user(){}
return $this->hasOne('User', 'id', 'uid');
}
public function type(){
return $this->hasOne('Type', 'id', 'type_id');
然后我想把这三个表关联起来, 就这么写
$data = Passage::find(1)->user->type;结果什么也查不出来, 单独查一个倒是可以, 请问我应该怎么写, 或者是关联模型用错了??
2 个回复
xlimit
赞同来自: Lich
这个代码表现的是,Passage和user关联,user和type关联。
你的Passage model 里面这么写的
这里表现出User和Type与Passage有关联,Type与Passage有关联,不代表Type和User有关联,
你需要在User中添加
下面的代码才能生效
雨师
赞同来自:
你这种情况应该可以用预先加载解决,一次加载多个关系,用get获得数据。
查询多个表关联也可以试试用查询生成器查询,直接用连接,其实就是类似于写SQL语句了。这是我的思路。