我试图从表中获得多个where和/或子句的结果.
我的SQL语句是:
SELECT * FROM tbl
WHERE m__Id = 46
AND
t_Id = 2
AND
(Cab = 2 OR Cab = 4)
Run Code Online (Sandbox Code Playgroud)
我怎么能用Laravel Eloquent来解决这个问题?
我在Laravel的代码是:
$BType = CabRes::where('m_Id', '=', '46')
->where('t_Id', '=', '2')
->where('Cab', '2')
->orWhere('Cab', '=', '4')
->get();
Run Code Online (Sandbox Code Playgroud) 我将从表中获取所有项目,其中endDate是> = now而endDate是NULL并且发布= 1.
这是我的,但给我0项:
$items = Items::orderBy(\DB::raw('RAND()'))
->where('endDate', '>=', date("Y-m-d"))
->whereNull('endDate')
->where('published', '1')
->whereIn('cid', $this->activeId)
->orderBy('id')
->paginate(4);
Run Code Online (Sandbox Code Playgroud) 当我尝试执行6个联接的数据库查询时,出现以下错误消息:
SQLSTATE[42000]: Syntax error or access violation: 1104 The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
$results = DB::table('table_1')
->join('table_2', 'table_1.id', '=', 'table_2.id')
Run Code Online (Sandbox Code Playgroud)
...
我的问题是: 如何在Laravel查询中设置“ SET SQL_BIG_SELECTS = 1”?