php - 如何编写正确的查询以获取未删除的行?
问题描述
我有users
桌子,我用softDeletes()
在我的桌子上。我也有candidates
表,其中有表的外键(user_id
)users
。
一般来说,我如何才能获得未删除用户的候选人?
这是我获取未删除用户的候选人的代码:
$candidates = Candidate::all();
$activeCandidates = [];
foreach ($candidates as $candidate) {
if($candidate->user) {
$activeCandidates[] = $candidate;
}
}
可以在不使用子查询循环的情况下解决我的问题吗?
解决方案
has()
是根据关系过滤选择模型。因此,它的行为与正常的 WHERE 条件非常相似。如果您只是使用has('relation')
这意味着您只想获取在此关系中至少具有一个相关模型的模型。
$candidates = Candidate::has('user')->get();
推荐阅读
- scala - 如何使用 scalameta 解析和转换 sbt 项目中的所有源代码文件?
- laravel - 数据未提交到 db laravel:5.8
- rest - Rest:用于提取相似数据的 url 端点
- python - Python face_recognition 处理每一帧耗时太长
- sql - 无法对值进行分组
- python - 有人可以建议如何实现自定义 Django PasswordResetView?
- python - Tensorflow - 时间卷积网络不学习
- git - 如何使用 git checkout 恢复修改过的文件?
- bash - ffmpeg - 如何并行转换大量文件?
- angular - 找不到模块'./app.module.ngfactory'.ts(2307)