使用Laravel orwhere時若理想的SQL語法為下
SELECT *
FROM `article`
WHERE `status` = 0 and (`title` like '%關鍵字%' or `keyword` like '%關鍵字%')
這時如果直接使用
$query->where('status', '=', 0);
$query->where('title', 'like', '%'.$search.'%');
$query->orwhere('keyword', 'like', '%'.$search.'%');
所產生的SQL為
SELECT *
FROM `article`
WHERE `status` = 0 and `title` like '%關鍵字%' or `keyword` like '%關鍵字%'
缺少了括號
這時候要使用php閉包的方式
$query->where('status', '=', 0);
$query->where(function ($query) use ($search) {
$query->where('title', 'like', '%'.$search.'%');
$query->orwhere('keyword', 'like', '%'.$search.'%');
});
如此一來便可以達到指定括號位置的目的。
範例(二)
where status = 1 or status = 2
$query->where(function ($query) {
$query->where('status', 1);
$query->orwhere('status', 2);
});
php顯示錯誤訊息Class 'ZipArchive' not found解決方式
在伺服器上的資料夾權限設定,經常有許多人會將權限設定到777 這是風險非常大的一件事情!那該如何設定呢?
RC4加密在密鑰的生成演算中存在漏洞在 Acunetix 弱點掃描中被列為中度風險,以Apache實作關閉RC4加密方式
更新 composer 依然無法解決 No such file or directory 問題嗎?深入問題解決。
許多網頁設計師及前端工程師在碰到需要無障礙標章的網站時,面對文謅謅的規範,經常像是無頭蒼蠅,跌跌撞撞的花費許多時間才得以成功取得標章,在此筆者整理一些要點