在特定Id上使用外键获取Laravel数据库

时间:2015-09-15 14:40:10

标签: laravel-5

我制作了类别模型和产品模型。

关系:

类别有很多产品

产品属于类别

我的Category.php

 public function product()
{
    return $this->hasMany('App\Product');
} 

我的Product.php

public function category()
{
    return $this->belongsTo('App\Category');
}

我的路线:

Route::get('categories/{id}','ShopController@items');

我的ShopController @ items

            public function items($id)
{
    $products = Product::find($id);
    $categories = Category::find($id);
    return view('shop.togo',compact('products','categories'));
}

在我的togo.blade.php

@extends('app')
@section('content')
<div class="container">
    <table class="table">
        <thead>
        <tr>
            <th>Products belongs to {{$categories->name}}</th>
        </tr>
        </thead>
<tbody>
@foreach($products as $product)
<tr>
<td>{{$product->name}}</td>
</tr>
@endforeach
</tbody>
    </table>
</div>
@stop

如何列出特定类别下的产品?如果类别id为1,如果我传递值localhost:8000 / categories / 1,如何显示具有属于特定类别的外键(categories_id)的产品?

任何反馈都非常感谢

1 个答案:

答案 0 :(得分:0)

因为你有一个hasMany关系,你必须在迭代中迭代,如:

@foreach($products as $product)
<tr>
<td>{{$product->name}}</td>
</tr>
@foreach($product->category as $category)
{{$category->name}}
@endforech
@endforeach