我对此感到困惑。我有两个复选框,即修指甲和修脚
当用户选择修指甲ajax运行,然后我想从所有行中找到修指甲词,像这样:-
enter code here
id name
1 Get Manicure
2 Manicure & Pedicure
3 Repair Manicure
4 Get Pedicure
5 Dummy text
现在假设我的桌子上有五个记录
当用户单击“修指甲”复选框时,我希望它必须返回1,2,3 id
当用户单击修指甲和修脚时,我想要1,2,3,4记录
当用户单击修脚时,仅返回2,4 id
谁能帮助我实现此功能。这是我的代码
enter code here
$query = Service::whereIn('name',array('Pedicure'))->get();// Only pedicure
$query = Service::whereIn('name',array('Manicure'))->get(); // Only manicure
$query = Service::whereIn('name',array('Manicure','pedicure'))->get(); //Both
我认为这可能与之间使用forloop的条件一起使用
最佳答案
像这样更改您的查询
//$searchArray = ['Manicure'];
//$searchArray = ['pedicure'];
$searchArray = ['Manicure','pedicure'];
$query = new Service();
$isFirst = true;
foreach($searchArray as $string){
if($isFirst){
$query->where('name','like','%'.$string.'%');
$isFirst = false;
}else{
$query->orWhere('name','like','%'.$string.'%');
}
}
$result = $query->get();