使用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);
});
最近使用mac時發現Google Driver變成簡體,重新安裝竟然還跑出簡體的路徑
Laravel 部署時發生Error竟然是版本所造成的
程式系統串接ChatGPT API共需要三組金鑰,分別為Organization ID、Project ID、API Key,詳細申請步驟。
大多數網站會員註冊都依賴Email作為主要驗證機制,當驗證Email寄給使用者後,卻又直接進入垃圾信箱,經常被抱怨收不到信!
網站SEO優化沒有想像中複雜,只要能把握幾個重點,就能將網站排名提升囉!