2017-05-29 36 views
0

请我希望基于其category id获取作物,会很高兴,如果这能不使用JavaScript提取记录基地 - Laravel

显示页面

<div class="cat-list"> 
    <h3 class="cat-title"> 
     <a href="/filterByCategory/{{$category->cat_id}}"> 
      <i class="fa fa-car ln-shadow"></i> 
      {{$category->cat_name}}<span class="count">{{$category->count()}}</span> 
     </a> 
     <span data-target=".cat-id-1" data-toggle="collapse" class="btn-cat-collapsed collapsed"> 
      <span class=" icon-down-open-big"></span> 
     </span> 
    </h3> 
    <ul class="cat-collapse collapse in cat-id-1"> 
    @php 
     $catID = $category->cat_id; 
     //want to fetch crops base on the $catID and display in foreach 
    @endphp 
    </ul> 
</div> 

控制器功能实现

public function index() 
{ 
    $categories = Category::all(); 

    $crops = Crop::all(); 

    return view('public.index' , compact('categories' , 'crops')); 
} 

作物型号

public function category() 
{ 
    return $this->belongsTo(Category::class, 'cat_id', 'crop_cat') 
} 

分类模式

public function category() 
{ 
    return $this->hasmany(Category::class, 'crop_cat','cat_id') 
} 
+0

您尚未概述作物与类别的关系。发布数据库模式和/或模型关系。 – fubar

回答

0

您可用此法您的类别添加到模型:

public function crops() { 
    return $this->hasMany(Crop::class, 'catID'); 
} 

这个功能您的作物模型:

public function category() { 
    return $this->belongsTo(Category::class, 'catID'); 
} 

之后,您可以基本遍历刀片模板上的所有类别,并在此循环中回显当前类别的所有作物。然后,这可能是这样的:

@foreach ($categories as $category) 
    {{ $category->name }} 

    @foreach ($category->crops as $crop) 
     {{ $crop->title }} 
    @endforeach 
@endforeach 

您可以找到有关Laravel here雄辩关系的更多信息。