我的数据库表中有一列,其中包含多个逗号分隔的值,下面有一个逗号分隔的数组:
$possibleSubMods = ["Pre-Op","Perioperative","PREOP","Endoscopy Nurse","Endoscopy","Endoscopy Lab"];
并且column具有以下值:
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列中具有“ 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();
效果很好。喜欢您的快速回复!
很高兴我能帮助你
这不再起作用,IDK为什么!
您收到错误消息了吗?
不,它只是返回不合适的结果。