我有两个数组
temp[]
time[]
现在例如,如果我的数组中的数据类似于此
temp time
[0] 80 45
[1] 70 50
[2] 85 65
[3] 90 30
我想根据这两个数组参数查询数据 喜欢(从MyTable中选择*,其中(温度= 80和时间= 45))下一个(从MyTable中选择*(温度= 70,时间= 50))等等
我正在做这样的事情
$mix=MyTable::whereIN('temperature', $temp)
->whereIN('time', $time)->where('category',$cat)
->get();
但它输出的输出是这两个参数的组合。不完全是从数组0开始......
我希望我能正确解释我的问题。
我试过了..
$result=Ergebnisse::where('name_id', $nam)->where('geometrie_id', $geo)->get();
foreach ($result as $key => $res) {
$mix=Ergebnisse::where('temperatur', $res->temperatur)
->where('zeit', $res->zeit)->groupBy('katogorie_id')
->get();
}
当我dd($ mix)时,它只显示一个结果。但根据我的数据库,它应该显示多个
答案 0 :(得分:4)
whereIn()
无效。做这样的事情:
$data = MyTable::where('category', $cat)
->where(function($q) use($array) {
foreach ($array as $item) {
$q->orWhere(function($q) use($item) {
$q->where('temperature', $item['temp'])
->where('time', $item['time']);
}
}
})->get();