LARAVEL 5.8 - 在 foreach 中使用数组的 WHERE LIKE 子句的多个条件未给出完整结果
LARAVEL 5.8 - Multiple conditions for WHERE LIKE clause using array in foreach not giving complete results
我的数据库 table 中有一列有多个逗号分隔值,下面有一个逗号分隔数组:
$possibleSubMods = ["Pre-Op","Perioperative","PREOP","Endoscopy Nurse","Endoscopy","Endoscopy Lab"];
并且列具有以下值:
column name: subModality
Rows:
Post Anesthesia Care Unit Nurse (PACU), Pre-Op
Pre-Op, Endoscopy Nurse
PREOP, Endoscopy Lab
我的代码是:
$jobs = DB::table('joblists')
->where(function ($query) use ($possibleSubMods ){
foreach ($possibleSubs2 as $subModality) {
return $query->where('subModality', 'like', "%" . $subModality . "%");
}
})->count();
在 subModality 列中只有 returns 行具有 'Pre-Op',请记住 'Pre-Op' 是 $possibleSubMods
数组中的第一个值。
请给我建议快速而可靠的解决方案,我正在使用 Laravel 5.8!
TIA!
您可以使用
$jobs = DB::table('joblists')->where(function ($query) use ($possibleSubMods ){
foreach ($possibleSubs2 as $key => $subModality) {
if ($key === 0)
$query->where('subModality', 'like', "%" . $subModality . "%");
else
$query->orWhere('subModality', 'like', "%" . $subModality . "%");
}
})->count();
我的数据库 table 中有一列有多个逗号分隔值,下面有一个逗号分隔数组:
$possibleSubMods = ["Pre-Op","Perioperative","PREOP","Endoscopy Nurse","Endoscopy","Endoscopy Lab"];
并且列具有以下值:
column name: subModality
Rows:
Post Anesthesia Care Unit Nurse (PACU), Pre-Op
Pre-Op, Endoscopy Nurse
PREOP, Endoscopy Lab
我的代码是:
$jobs = DB::table('joblists')
->where(function ($query) use ($possibleSubMods ){
foreach ($possibleSubs2 as $subModality) {
return $query->where('subModality', 'like', "%" . $subModality . "%");
}
})->count();
在 subModality 列中只有 returns 行具有 'Pre-Op',请记住 'Pre-Op' 是 $possibleSubMods
数组中的第一个值。
请给我建议快速而可靠的解决方案,我正在使用 Laravel 5.8! TIA!
您可以使用
$jobs = DB::table('joblists')->where(function ($query) use ($possibleSubMods ){
foreach ($possibleSubs2 as $key => $subModality) {
if ($key === 0)
$query->where('subModality', 'like', "%" . $subModality . "%");
else
$query->orWhere('subModality', 'like', "%" . $subModality . "%");
}
})->count();