使用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);
});
當我們使用 migrate 出現以下訊息:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
reCAPTCHA是目前針對防範機器人最為有效的方式,廣泛使用在各政府機關、民間網站的網頁設計中,此篇文章教學申請取得金鑰步驟。
HTTP Strict Transport Security (HSTS) not implemented 未使用嚴格安全傳輸(HSTS),教你如何設定
TLS 1.0 存在漏洞,在Acunetix 弱點掃描中如果沒有停用TLS 1.0將會被列為中度風險,以apache為例教學關閉 TLS 1.0
遇到 ChatGPT 無法回應、連不上或出現錯誤訊息嗎?別急著以為是你電腦壞掉,其實可能是 OpenAI 的服務正在維護或異常。本文教你如何查詢 ChatGPT 是否出現問題,快速判斷是否為全部用戶的狀況!