php未知参数,php – 使用未知数量的参数创建Laravel Eloquent Query
我正在嘗試使用用戶輸入動態創建一個Eloquent查詢,該輸入根據輸入的長度更改查詢.使用直接
MySQL這很簡單……只需根據用戶輸入連接查詢字符串.使用Eloquent是不可能的,除非你要么a)使用’raw’sql查詢,這違背了使用Eloquent的目的或b)使用像eval()函數那樣高度不健康的東西.
如何迭代未知長度的用戶輸入并創建一個Eloquent查詢,使用’OR’和’AND’的組合在多個字段中搜索單詞
考慮以下無法實際工作的偽代碼.
$search = "cat sat on the mat";
$searchWords = explode(' ', $search);
$data['finds'] = DB::table('mytable') [... incomplete query]
foreach ($searchWords as $word) {
->where('firstname', 'like', '%' . $word . '%')
->orWhere('lastname', 'like', '%' . $word . '%')
->orWhere('address', 'like', '%' . $word . '%')->AND [... next word]
}
或者只是放棄和使用原始查詢?我可以為每個單詞運行一個單獨的查詢,然后使用PHP來合并/操作結果,但這對于在傳統MySQL中的一個查詢中可以完成的操作來說似乎非常麻煩.
我正在嘗試做的傳統MySQL查詢將是:
SELECT * FROM `mytable`
WHERE (firstame LIKE '%$cat%' OR lastname LIKE '%cat%' OR address LIKE '%cat%')
AND (firstname LIKE '%sat% OR lastname LIKE '%sat%' OR address LIKE '%sat%')
AND [etc, etc, for all words in user input]
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的php未知参数,php – 使用未知数量的参数创建Laravel Eloquent Query的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 餐厅前台php,餐厅前台接听电话技巧
- 下一篇: mplayer-php,jQuery M