使用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);
});
使用精簡的 HTML 程式碼 (包含任何內嵌 JavaScript 和其中所含的 CSS) 可以大幅減少資料量,同時加快下載及剖析的速度。
PHP 出現 No such file or director問題,問題在於伺服器沒有辦法找到你所指定開啟的檔案或目錄
Git版本控管如何以手動方式部署到Centos伺服器呢
使用Composer update時出現Out of memory記憶體不足時解決方式
HTTP Strict Transport Security (HSTS) not implemented 未使用嚴格安全傳輸(HSTS),教你如何設定