Laravel 9 如何在结果集的第二层惰性加载关系

问题描述 投票:0回答:1

我们的项目使用 astrotomic/laravel-translatable 库 在 Laravel 9 中进行翻译。问题是加载翻译的第二级关系(例如 hasMany)不会偷懒,而是会分别向每个实体发出请求。这会产生大量的 sql 请求。有办法解决这个问题吗? 例如,如果结果如下所示:

events: [
    {
        "xxx": "xxx",
        "translations": [  // This is lazy OK
            {...}
        ],
        "childEntity": {  // Second level
            "translations": [   // This translations are not lazy :(
                {...}
            ]
        }
    }
]
eloquent lazy-loading laravel-9
1个回答
0
投票

解决办法是添加

$with = ['translations']

对所有实体来说,现在真的很懒。

© www.soinside.com 2019 - 2024. All rights reserved.