Laravel查询-andWhere

时间:2018-06-26 12:46:05

标签: laravel

我的查询有问题

当我像下面这样运行时,会得到所有组织的所有组和项目(表项目)。从org_id中仅获得网上论坛以及可见的网上论坛的含义。

return $this->model->with( [ 'items' => function($query){$query->where('invisible','=',FALSE)->orWhere('invisible', '=', null)->orderBy('description', 'ASC');} ] )->where("org_id",$org_id)->where('invisible','=',FALSE)->orWhere('invisible', '=', null)->orderBy('description', 'asc')->get();

如果我这样运行(删除针对组的invisible查询),就可以正常工作。

return $this->model->with( [ 'items' => function($query){$query->where('invisible','=',FALSE)->orWhere('invisible', '=', null)->orderBy('description', 'ASC');} ] )->where("hos_id",$hos_id)->orderBy('description', 'asc')->get();

我怎么办

WHERE orf_id= org_id
AND ( invisible = false OR invisible = NULL )

1 个答案:

答案 0 :(得分:5)

您可以通过以下方式实现此目标

$query->where(function($query){
    $query->where('invisible','=',FALSE)->orWhereNull('invisible');
})

所以最终您的代码将像

return $this->model->with( [ 'items' => function($query){
    $query->where('invisible','=',FALSE)->orWhereNull('invisible')->orderBy('description', 'ASC');
}])
->where("org_id",$org_id)
->where(function($query){
    $query->where('invisible','=',FALSE)->orWhereNull('invisible');
})
->orderBy('description', 'asc')->get();