我可以取消或重写WHERE条件吗?
我有以下查询...
<?php
$userOrUsers = \DB::table('users')->where('id',7);
if(!$userOrUsers->exists()){
$userOrUsers->where('id','!=',7);
}
$userOrUsers = $userOrUsers->get();
dd($userOrUsers);
查询没有给我任何信息,如何在不使用两个 - &gt; get()的情况下取消最后的 ?
如果id 7不存在,则不需要id!= 7
感谢。
答案 0 :(得分:1)
您可以将查询用作:
if($user = \DB::table('users')->find(7)) return $user;
else return \DB::table('users')->all();
答案 1 :(得分:0)
您可以进行一些收集操作
$userOrUsers = \DB::table('users')->all();
if($userOrUsers->contains('id', 7)) {
$userOrUsers = $userOrUsers->filter(function ($value, $key) {
return $value->id == 7;
})->all();
};