如何在laravel中打印与其类别名称相关的品牌名称?

xzlaal3s  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(657)

使用laravel5.6和mysql。我有如下表名 vehicles

  1. id name categoryname brandname model
  2. 1 juy car toyota 121
  3. 2 gty van nissan caravan
  4. 3 bgh car bmw 520d
  5. 4 hyu van ford max
  6. 5 nhj car toyota 121

现在我需要单独打印每个品牌的名字和相关的类别名称,就像这样,

  1. car
  2. toyota
  3. bmw
  4. van
  5. nissan
  6. ford

如何在控制器中执行此操作?

mnowg1ta

mnowg1ta1#

尝试此代码

  1. $vehicles = DB::table('vehicles')
  2. ->orderBy('categoryname', 'asc')
  3. ->get();
  4. $cat = "";
  5. foreach($vehicles AS $vehicle) {
  6. if($vehicle->categoryname != $cat) {
  7. $cat = $vehicle->categoryname;
  8. echo $cat . '<br><br>';
  9. }
  10. echo $vehicle->brandname . '<br>';
  11. }
jdgnovmf

jdgnovmf2#

  1. $vehicles = DB::table('vehicles')->get();
  2. $arr = [];
  3. foreach($vehicles as $veh)
  4. {
  5. if(isset( $arr[$veh->categoryname] ))
  6. {
  7. $arr[$veh->categoryname][] = $veh->brandname;
  8. } else
  9. {
  10. $arr[$veh->categoryname][] = $veh->categoryname;
  11. }
  12. }
  13. dd($arr);

相关问题