【问题标题】:Laravel 4.1 eager loading polymorphic relation morphToLaravel 4.1 急切加载多态关系 morphTo
【发布时间】:2014-07-21 15:41:29
【问题描述】:

我在尝试在 Laravel 4.1 中急切加载多态关系时遇到问题。请看这个:http://help.laravel.io/d1fb6a5b00975db6 … f037b002f4

基本上我测试了非多态预加载,它运行良好。

如果我尝试了这个,它会起作用:

Route::get('polytest', function ()
{
  $data = new \StdClass;
  $data->model = new \Picture;
  $posts = $data->model->find(1);
  $posts = $posts->authorable;
  //dd( DB::getQueryLog() );
  return $posts;
});

但这不起作用:

Route::get('polytest', function ()
{
  $model = new \Picture;
  $posts = $model->with('authorable')
            ->orderBy('updated_at', 'desc')
            ->take(15)
            ->get();
  //dd( DB::getQueryLog() );
  return $posts;
});

PS:相关模型和迁移在上面的链接中。

【问题讨论】:

    标签: php laravel laravel-4 eloquent


    【解决方案1】:

    AFAIK 它在 Laravel 4.1 主分支中尚不可用,但正在修复中,在已提交的拉取请求中。

    不过,如果您现在需要它并运行它,无论如何您都可以使用 PR。看看吧:

    https://github.com/laravel/framework/pull/3038

    详情请按照此处原讨论:

    https://github.com/laravel/laravel/issues/1681

    更新:

    正如@ChristianMichael 在下面的评论中所报告的,对 MorphTo 急切加载的初始支持刚刚在 Laravel 4.1.23 版本中添加,大​​了!

    【讨论】:

    • 感谢@Gadoma 编辑标题:D uhh.. 刚读完,所以我想我会先坐下来...看看结果如何:(
    • 当然没问题@ChristianMichael,无论如何我认为你应该接受答案:) 干杯
    • 呵呵当然,不好意思……对整个流程还是不熟悉……我以为是投票决定的。
    • 更新信息:Laravel 的创建者 Taylor Otwell 刚刚在 4.1.23 版本中推送了对 MorphTo 急切加载的初步支持 :)
    猜你喜欢
    • 2021-05-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多