Php 以雄辩的口吻
我有两个数组Php 以雄辩的口吻,php,laravel,orm,eloquent,Php,Laravel,Orm,Eloquent,我有两个数组 temp[] time[] 例如,如果我的数组中有这样的数据 temp time [0] 80 45 [1] 70 50 [2] 85 65 [3] 90 30 $mix=MyTable::whereIN('temperature', $temp) ->whereIN('time', $time)->where('category',$cat) ->get(); 我
temp[]
time[]
例如,如果我的数组中有这样的数据
temp time
[0] 80 45
[1] 70 50
[2] 85 65
[3] 90 30
$mix=MyTable::whereIN('temperature', $temp)
->whereIN('time', $time)->where('category',$cat)
->get();
我想根据这两个数组参数查询数据
如从MyTable中选择*,其中温度为80,时间为45,下一次从MyTable中选择*,其中温度为70,时间为50,依此类推
我正在做这样的事情
temp time
[0] 80 45
[1] 70 50
[2] 85 65
[3] 90 30
$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();
}
当我添加$mix时,它只显示一个结果。但根据我的数据库,它应该显示多个在这里不起作用的。这样做:
$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();
你能试试foreach循环吗?使用foreach循环遍历这两个数组,然后使用以下值进行查询:$mix=MyTable::where'temperature',$temp->where'time',$time->where'category',$cat->first;它不能只显示一个结果吗?您是否可以更新问题,使其包含您尝试的新代码?$mix[]=Ergebnisse::where'temperature'、$res->temperature->where'zeit'、$res->zeit->groupBy'katogorie_id'->get$mix=Ergebnisse::where'katogorie_id',$kat->where函数$q使用$result{foreach$result作为$item{$q->或where函数$q使用$item{$q->where'temperature',$item->temperature->where'zeit',$item->zeit;}->groupBy'name\u id'->get;我在@Alexey的帮助下解决了这个问题Mezenin@HassanHaroon$array是一个包含数据的数组。只需使用你在应用程序中使用的变量名。我对laravel和orm是新手。我现在这么做了,它说的是定义好的变量:data$result=Ergebnisse::where'name\u id',$nam->where'geometrie\u id',$geo->get$data=Ergebnisse::where'katogorie_id',$kat->where函数$q使用$result{foreach$result作为$item{$data=$data->或where函数$q使用$item{$q->where'temperature',$item['temp']->where'time',$item['time'];}}->get;