如何在 laravel 的刀片文件中显示最新('updated_at')记录

Posted

技术标签:

【中文标题】如何在 laravel 的刀片文件中显示最新(\'updated_at\')记录【英文标题】:How to display latest('updated_at') records in blade file of laravel如何在 laravel 的刀片文件中显示最新('updated_at')记录 【发布时间】:2016-03-09 07:40:40 【问题描述】:

我在 laravel 做项目。在我的项目中有两个表类别和子类别。 subcategories 表有 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>

这显示正确的数据,但现在我想按更新/创建的顺序显示数据。有没有办法根据要求显示数据? 我想将一些东西放入刀片文件本身。这个怎么做?请提出建议。

【问题讨论】:

我推荐使用@milan 的方式来避免N+1的问题... 【参考方案1】:
@foreach($c->subcategories()->orderBy('updated_at','asc')->get() as $subcategory)
     <h4>$subcategory->subcategoryname</h4>
@endforeach

编辑:我确实喜欢其他答案,但是 OP 在刀片文件本身中要求

【讨论】:

【参考方案2】:

你不应该在刀片中做这样的事情。刀片应尽可能保持哑音。主要的事情应该在控制器中完成,然后传递给刀片。您可以在控制器中执行此操作:

    $categories = Category::with(array('subcategories' => function($query) 
        $query->orderBy('created_at', 'DESC');
    ))->get();

现在类别对象中的子类别将被排序。

【讨论】:

以上是关于如何在 laravel 的刀片文件中显示最新('updated_at')记录的主要内容,如果未能解决你的问题,请参考以下文章

如何在 laravel 刀片中显示来自 public/file/filen_name 的 pdf 文件而不下载文件 [重复]

如何在 laravel 8 中的 storage/app/public/student_img 文件夹中的视图刀片中显示图像

如何在 laravel 5.6 的一个刀片文件中使用不同的形式

为啥 laravel 中的刀片文件不显示?

如何在 Laravel Blade 中进行基本计算

laravel 5.2 如何在刀片中获取路由参数?