向 Laravel 中添加条件 has()
Posted
技术标签:
【中文标题】向 Laravel 中添加条件 has()【英文标题】:Adding conditions to Laravel has() 【发布时间】:2014-11-21 06:45:59 【问题描述】:我有一个名为 answers 的表,它的列是 id
、answers
、batch
、candidate_id
。我想得到所有在批次号 1 下没有答案记录的候选人。
有没有办法在这个语句中添加条件(这是在我的候选模型中)?
return $this->has('answers', '=', 0)->get();
我试过这种方法,但没有用:
return $this->has('answers', '=', 0)->whereBatch(1)->get();
【问题讨论】:
在文档中找到“如果您需要更多功能,您可以使用 whereHas 和 orWhereHas 方法在您的 has 查询中添加“where”条件” 【参考方案1】:你需要whereHas
:
$this->whereHas('answers', function ($q)
$q->whereBatch(1);
, '=', 0)->get();
顺便说一句,这与使用闭包作为第 5 个参数调用 has
完全相同:
$this->has('answers', '=', 0, 'and', function ($q)
$q->whereBatch(1);
)->get();
【讨论】:
以上是关于向 Laravel 中添加条件 has()的主要内容,如果未能解决你的问题,请参考以下文章