首页 > 解决方案 > LARAVEL 获取 2 个相同的列

问题描述

我有一张有动物的桌子,还有一张有动物图像的桌子(id_image,id_animal)。

问题是当我这样做时:

$animales = DB::table('animals')
->orderBy('date_found')
->join('images','images.id_animal','animals.id')
->limit(6)
->get();

当我这样做时,它会为每个图像返回相同的动物。这是一个问题,因为当我显示所有动物时,它会多次显示相同的动物 例子

我能做些什么?我尝试使用组,但它不起作用。

谢谢!

 [1]=>
    object(stdClass)#348 (15) {
      ["id"]=>
      int(5)
      ["id_user"]=>
      NULL
      ["race"]=>
      string(7) "Mestizo"
      ["species"]=>
      string(6) "Canina"
      ["gender"]=>
      string(5) "Macho"
      ["date_of_birth"]=>
      string(10) "2017-01-19"
      ["description"]=>
      string(54) "Un perrito muy bonito y pequeño que busca una familia"
      ["health"]=>
      string(8) "Muy bien"
      ["nickname"]=>
      string(6) "Tudels"
      ["place_found"]=>
      string(8) "Valencia"
      ["size"]=>
      string(7) "Mediano"
      ["date_found"]=>
      string(10) "2017-03-01"
      ["condition"]=>
      NULL
      ["id_animal"]=>
      int(1)
      ["url"]=>
      string(18) "/img/animals/7.jpg"
    }
    [2]=>
    object(stdClass)#347 (15) {
      ["id"]=>
      int(1)
      ["id_user"]=>
      NULL
      ["race"]=>
      string(7) "Mestizo"
      ["species"]=>
      string(6) "Canina"
      ["gender"]=>
      string(5) "Macho"
      ["date_of_birth"]=>
      string(10) "2017-01-19"
      ["description"]=>
      string(54) "Un perrito muy bonito y pequeño que busca una familia"
      ["health"]=>
      string(8) "Muy bien"
      ["nickname"]=>
      string(6) "Tudels"
      ["place_found"]=>
      string(8) "Valencia"
      ["size"]=>
      string(7) "Mediano"
      ["date_found"]=>
      string(10) "2017-03-01"
      ["condition"]=>
      NULL
      ["id_animal"]=>
      int(1)
      ["url"]=>
      string(19) "/img/animals/1.jpeg"
    }

标签: phplaravellaravel-blade

解决方案


在此处使用左连接

$animales = DB::table('animals')
->orderBy('date_found')
->leftJoin('images','images.id_animal','animals.id')
->limit(6)
->get();

推荐阅读