我在使用Laravel的搜索查询时遇到了问题。
$words = 'pa';
$query = Category::where(function ($query) use ($words) {
$query->where('name', 'like', '%'.$words)
->orWhere('name', 'like', $words . '%')
})->pluck('name');
结果是:
[{Chocolate Spa, Zen Spa, Disco Party}]
预期结果仅为Party
。
我希望搜索名称列以给定单词开头不包含该单词。
如何实现该搜索方法?
答案 0 :(得分:3)
这应该有效:
$query = Category::where('name', 'like', $words.'%')
->orWhere('name', 'like', '% '.$words.'%'))
->pluck('name');