我有users
表,并且在表中使用softDeletes()
。我也有candidates
表,其中有到user_id
表的外键(users
)。
一般如何获取未删除用户的候选人?
这里是我的代码,用于获取未删除用户的候选人:
$candidates = Candidate::all();
$activeCandidates = [];
foreach ($candidates as $candidate) {
if($candidate->user) {
$activeCandidates[] = $candidate;
}
}
可以解决我的问题而无需循环子查询吗?
答案 0 :(得分:2)
has()
用于基于关系过滤选择模型。因此,它的行为与正常WHERE条件非常相似。如果仅使用has('relation')
,则意味着您只想获取在该关系中至少具有一个相关模型的模型。
$candidates = Candidate::has('user')->get();