从关系表中获取价值,而不是他的身份

时间:2015-10-26 07:48:26

标签: laravel laravel-5.1

我有两张桌子:

产品

  • ID
  • 名称
  • CATEGORY_ID

分类

  • ID
  • 名称

在我的模特中,我指定了关系,当我得到

\产品::所有();返回看起来像:

id: 1
name: product Name
category_id: 1

是否可以获取类别名称,而不是他的ID。我需要这样的东西:

id: 1
name: product Name
category_name: electronics

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以使用

$products = App\Product::with('category')->get();

如果要从类别中选择特定列,则可以使用

 $products = App\Product::with(['category'=>function($query){
      $query->select('name');
 }])->get();

如果产品有类别,这将为产品提供类别。然后,您可以使用foreach循环来获取类别

foreach($products as $product){
    echo $product->id;
    echo $product->name;
    foreach($product->category as $cat){
       echo $cat->name;
    }
}