我正在尝试进行一个SQL查询,该查询选择名称为 searchTerm的所有卡车
$foodtrucks= DB::table('foodtrucks')
->rightjoin('users', 'foodtrucks.user_id', '=', 'users.id')
->orderBy('users.premium_type','premium')
->select('foodtrucks.*')
->where('name', 'LIKE', $searchTerm)
->orWhere('info', 'LIKE', $searchTerm)
->get();
如果我写了确切名称,我目前正在得到结果,但这不是我想要发生的事情,我希望它显示结果,即使名称包含searchTerm
例如
我搜索“卡车”
我得到Truck123,Truck456和Truck789
现在发生了什么
我搜索“卡车”
我没有结果
我搜索Truck123
我得到Truck123
答案 0 :(得分:1)
所以你正在搜索LIKE %Truck%
。寻找:
$foodtrucks= DB::table('foodtrucks')
->rightjoin('users', 'foodtrucks.user_id', '=', 'users.id')
->orderBy('users.premium_type','premium')
->select('foodtrucks.*')
->where('name', 'LIKE', "%$searchTerm%")
->orWhere('info', 'LIKE', "%$searchTerm%")
->get();