【问题标题】:Laravel Lazy loadLaravel 懒加载
【发布时间】:2017-05-04 15:41:47
【问题描述】:

我的控制器中有这个:

return view('message.Message')->with([
            'reactions' => $message->reaction->load('user, user.corporation')->paginate(2)
        ]);

但是懒加载->load()。不起作用。我收到:

Call to undefined relationship [user, user] on model [App\Core\Reaction\Reaction].

但用户关系肯定存在!:

public function user()
{
    return $this->belongsTo(User::class);
}

我怎样才能让它工作?

【问题讨论】:

    标签: php laravel pagination lazy-loading


    【解决方案1】:

    您在调用加载时没有使用正确的参数。我想你想要

    load('user', 'user.corporation')

    其实我认为如果你加载'user.corporation','user'会自动加载,所以你只需要

    加载('user.corporation')

    【讨论】:

    • 对此很抱歉。但后来我收到:Method paginate does not exist.
    • 当然,因为您必须对视图进行分页,而不是急切加载。但这是代码中另一个错误的另一个答案。
    • 谢谢,应该是这个?:'reactions' => $message->reaction()->paginate(2)->load('user', 'user.corporation')
    • 问题已经回答了,伙计。
    • 批准和/或赞成解决问题的答案是一种很好的方式。
    猜你喜欢
    • 2013-12-25
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多