php未知参数,php – 使用未知数量的参数创建Laravel Eloquent Query
我正在嘗試使用用戶輸入動(dòng)態(tài)創(chuàng)建一個(gè)Eloquent查詢,該輸入根據(jù)輸入的長(zhǎng)度更改查詢.使用直接
MySQL這很簡(jiǎn)單……只需根據(jù)用戶輸入連接查詢字符串.使用Eloquent是不可能的,除非你要么a)使用’raw’sql查詢,這違背了使用Eloquent的目的或b)使用像eval()函數(shù)那樣高度不健康的東西.
如何迭代未知長(zhǎng)度的用戶輸入并創(chuàng)建一個(gè)Eloquent查詢,使用’OR’和’AND’的組合在多個(gè)字段中搜索單詞
考慮以下無(wú)法實(shí)際工作的偽代碼.
$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]
}
或者只是放棄和使用原始查詢?我可以為每個(gè)單詞運(yùn)行一個(gè)單獨(dú)的查詢,然后使用PHP來(lái)合并/操作結(jié)果,但這對(duì)于在傳統(tǒng)MySQL中的一個(gè)查詢中可以完成的操作來(lái)說(shuō)似乎非常麻煩.
我正在嘗試做的傳統(tǒng)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位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的php未知参数,php – 使用未知数量的参数创建Laravel Eloquent Query的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 餐厅前台php,餐厅前台接听电话技巧
- 下一篇: mplayer-php,jQuery M