【发布时间】:2019-02-26 13:55:19
【问题描述】:
我正在尝试清理我的代码并处理模型
我将以下 2 个表格分解如下:
滚动台
|id|roll_id|member_id|.......
成员表
|id|first_name|last_name|rank|
我的滚动模型上有以下内容
public function member()
{
return $this->belongsTo('App\Member');
}
这在我的会员模型上
public function roll()
{
return $this->hasMany('App\Roll');
}
虽然以下代码确实返回了正确的结果
$roll = Roll::with(['member'])
->where('status', '!=', 'A')
->get();
return ($roll);
我想添加一个额外的 where 子句
->where('rank','<', 12)
但是,我收到以下错误
SQLSTATE[42S22]:找不到列:1054 未知列 'member.rank' 在“where 子句”中(SQL:select * from
Rollwhereroll_id= 4 和status!= A 和`mem ▶"
【问题讨论】:
-
你试过 whereHas 吗?
-
我想你在找this
-
@Ishann 该帖子指的是 1 个表,这是 2 个,我面临的问题是它确实使用上面提供的代码找到了 member.rank 列,Roll::with(['member' ]) 正在返回 2 个表之间的正确链接,我可以将 where 子句应用于 Roll Table,我也不能应用于成员表