0
我要搜索特定的單詞,而不是從表信。現在,我使用like
但它不是像預期:Laravel搜索特定的詞
// Category Table
-----------------------------------------------------
| id | amount | updated_at |
+----------+--------------------+-------------------+
| 1 | Bread |2016-02-10 13:17:29|
| 2 | Bread Loaf |2016-02-10 13:17:29|
| 3 | Bread1 |2016-02-10 13:17:29|
+----------+--------------------+-------------------+
比如我搜索詞「麪包」:
$words = "bread";
$query = Category::where(function ($query) use ($words) {
$query->where('name', 'like', '%' . $words . '%');
})->get();
結果:所有面包出來。
我的預期是什麼「Bread1」沒有得到查詢。只有麪包和麪包麪包。
我應該添加到我的查詢?
你可能想試試這個SELECT * FROM產品WHERE PRODUCT_NAME RLIKE 「[[:<:]]bread[[:>:]]」; [同樣的問題在這裏](http://stackoverflow.com/questions/5743177/mysql-how-to-search-for-exact-word-match-using-like) –
本質上,這被評價爲'WHERE名稱LIKE「%麪包%''意思是它可以與麪包中的任何東西相匹配。它不會將其評估爲單詞。如果你只是添加空格,它不會匹配以麪包開始或結束的任何內容。正則表達式約翰羅卡給出了一個很好的解決方案。 – Devon
@JohnRoca謝謝。它工作 – ssuhat