小编典典

Laravel 5Eloquent 的条款和/或条款

sql

我尝试从具有多个where和/或子句的表中获取结果。

我的SQL语句是:

SELECT * FROM tbl
WHERE m__Id = 46
AND
t_Id = 2
AND
(Cab = 2 OR Cab = 4)

我如何通过Laravel Eloquent获得此信息?

我在Laravel中的代码是:

$BType = CabRes::where('m_Id', '=', '46')
                        ->where('t_Id', '=', '2')
                        ->where('Cab', '2')
                        ->orWhere('Cab', '=', '4')
                        ->get();

阅读 185

收藏
2021-04-15

共1个答案

小编典典

使用高级wheres

CabRes::where('m__Id', 46)
      ->where('t_Id', 2)
      ->where(function($q) {
          $q->where('Cab', 2)
            ->orWhere('Cab', 4);
      })
      ->get();

或者,甚至可以使用以下方法whereIn()

CabRes::where('m__Id', 46)
      ->where('t_Id', 2)
      ->whereIn('Cab', $cabIds)
      ->get();
2021-04-15