【问题标题】:Sort in laravel eager loading?在 laravel 急切加载中排序?
【发布时间】:2017-01-25 20:06:39
【问题描述】:

在我的 laravel 项目中,我正在使用即时加载功能加载所有帖子、帖子作者、回复和回复作者。

$pin = Posts::with('author', 'replies', 'replies.author')->find($pin_id);

这里是回复模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Replies extends Model
{
    public function replyable()
    {
        return $this->morphTo();
    }

    public function author()
    {
        return $this->belongsTo('App\User', 'author_id');
    }

}

在我们使用即时加载功能获取所有帖子时,是否可以按其(回复)ID 降序排列replies

【问题讨论】:

    标签: laravel laravel-5 eloquent laravel-5.3


    【解决方案1】:

    我想,这应该会有所帮助。

    Posts::with(['replies' => function($query) {
              $query->orderBy('id');
    }])->find($pin_id);
    

    【讨论】:

    • 哇!非常感谢。另外,如果我想对所有 cmets 进行分页,你能解释一下吗?使用 paginate() 方法?
    • Em...我不认为你可以在这里分页。当你渴望加载你的关系时,你应该有一个干净的模型实例。在with 方法中,您可以过滤或排序或加载另一个关系...希望很清楚:)
    猜你喜欢
    • 1970-01-01
    • 2014-08-13
    • 2021-04-23
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 2018-12-12
    • 2021-09-29
    相关资源
    最近更新 更多