我们的项目使用 astrotomic/laravel-translatable 库 在 Laravel 9 中进行翻译。问题是加载翻译的第二级关系(例如 hasMany)不会偷懒,而是会分别向每个实体发出请求。这会产生大量的 sql 请求。有办法解决这个问题吗? 例如,如果结果如下所示:
events: [
{
"xxx": "xxx",
"translations": [ // This is lazy OK
{...}
],
"childEntity": { // Second level
"translations": [ // This translations are not lazy :(
{...}
]
}
}
]
解决办法是添加
$with = ['translations']
对所有实体来说,现在真的很懒。