我在laravel做项目。在我的项目中有两个表类别和子类别。子类别表将categoryid作为外键。
subcategoryModel.php 具有以下功能
public function category(){
return $this->belongsTo('App\Category');
}
在我的刀片文件中,我使用类别对象显示我的子类别,如下所示,
blade.php
<div class="col-sm-6 col-align-left">
@foreach($category as $c)
<div class="form-group clearfix">
@if($c->subcategories->count() > 0)
<h4><b>Subcategories: </b></h4>
<div class="form-group clearfix">
@foreach($c->subcategories as $subcategory)
<h4>{{$subcategory->subcategoryname}}</h4>
@endforeach
</div>
@endif
<h4><a href="{{ url('subcategories/'.$c->categoryid.'') }}" class = "btn btn-primary">Add Subcategories</a></h4>
</div>
@endforeach
</div>
这显示正确的数据,但现在我想按照更新/创建的顺序显示数据。有没有办法按要求显示数据? 我想在刀片文件中加入一些东西。这该怎么做?请提出建议。
答案 0 :(得分:5)
你不应该在刀片中做那样的事情。刀片应尽可能保持愚蠢。主要事情应该在控制器中完成,然后传递给刀片。你可以在控制器中执行此操作:
$categories = Category::with(array('subcategories' => function($query) {
$query->orderBy('created_at', 'DESC');
}))->get();
现在将对类别对象中的子类别进行排序。
答案 1 :(得分:4)
@foreach($c->subcategories()->orderBy('updated_at','asc')->get() as $subcategory)
<h4>{{$subcategory->subcategoryname}}</h4>
@endforeach
编辑:我确实喜欢其他答案,但OP在刀片文件本身中要求