从一个到多个模态获得id - Laravel

时间:2017-12-21 13:52:58

标签: php mysql laravel eloquent

我需要从表格中获取产品类别列表。 总共2个表。 tblProduct& tblProductCatLink 1个产品可以有很多产品类别链接。

tblProductCatLink由product_id,category_id组成 现在来自我的控制器&查看,我想获取属于一个产品的类别列表

Product.php

public function productcategorylink(){
    return $this->HasMany('App\ProductCategoryLink', 'product_id', 'id');
}

ProductCategoryLink.php

public function projects(){
    return $this->hasMany('App\Project',  'id', 'product_id');
}

控制器

foreach ($projects as $project) {
   foreach ($project->productcategorylink as $value) {
        echo $value->category_id;
   }
}

以上代码仅返回产品的第一行类别。我的数据库中有产品297的3行记录。

2 个答案:

答案 0 :(得分:1)

  

我需要在循环产品数据时从视图访问产品类别链接

在控制器中:

$products = Product::with('productcategorylink')->get();

在视图中:

@foreach ($products as $product)
    @foreach ($product->productcategorylink as $link)
        {{ $link->category_id }}
    @endforeach
@endforeach

答案 1 :(得分:0)

您需要致电productcategorylinkprojects。所以它会是

$projects = projects();
foreach ($projects as $project) {
   $productCategoryLink = $project->productcategorylink();
   foreach ($productCategoryLink  as $value) {
        echo $value->category_id;
   }
}