【发布时间】:2017-09-04 16:15:58
【问题描述】:
我正在尝试学习 laravel 并进行了一些查询。在此查询中,我试图检查 Record 中的值是否与用户获得相同的 year 和 course。
$check1 = Record::where([['year','=',$show->year],['course','=',$show->course]])->get();
因为它给了我一个数组的集合并且想要检查已经给出的每一个结果,所以我使用了一个 foreach。
foreach($check1 as $record){
$check2 = Fbuser::where([['first_name','=',$record->firstname],['last_name','=',$record->lastname]])->get();
if ($check2 === null) {
dd($record->firstname);
}else {
//do something
}}
在上面的代码中,我试图检查 $check1 的结果是否存在于 Fbuser 表中。现在,问题是它只会检查第一个值而不是其余的值。如何让每个结果都通过 $check2 查询?我认为每个人都会做到这一点。计划列出所有不在 Fbuser 表中的名称。尝试寻找解决方案,但似乎找不到。
【问题讨论】:
-
我看到你没有在你的 foreach 中返回任何东西,foreach 背后的原因是什么?
-
@Sletheren 我试图检查 $check1 的每个结果。我在想每个都会有所帮助。
-
检查下面的答案..你可以使用过滤器来做到这一点,过滤器会根据你想要的过滤结果
-
你可以只使用 SQL 来做到这一点吗?
标签: php mysql laravel laravel-5.4