我是laravel的新手。我有一个数组。看起来像这样。
$state=[
1 => "Utah"
2 => "California"
3 => "Nevada"
6 => "Arizona"
]
我正在查询称为县的数据库中的表。我想显示所有属于这些州的县。
我写这样的代码
foreach($state as $st) {
$data= DB::table('state')->Select(County)->where('name','=', $st)->get();
dd($data);
}
这是我编写的代码。它只会返回第一个状态,然后才停止,有人可以帮助我。任何帮助都将受到赞赏。
答案 0 :(得分:0)
它停止,因为dd()是dump和DIE。因此,就像您会打电话给
dump($data);
die();
尝试类似的东西:
$query= DB::table('state');
foreach($state as $st) {
$query->orWhere('name','=', $st);
}
$data = $query->get();
它将进行一个数据库调用而不是X调用,并返回可以使用的记录集合。
答案 1 :(得分:0)
您可以尝试:
DB::table('country')->whereIn('name', array_values($state))->get();
答案 2 :(得分:0)
您必须提供要过滤的类别,然后彼此加入
App \ YourModel :: select('你想要什么')-> join('category','your_models.id','=','category.your_model_id')-> get();