将整个参数从 blade 传递给 Vue 组件会导致 30 个额外的数据库查询
Passing whole parameter to Vue component from blade is resulting in 30 additional database queries
我有一个 Vue 组件,我正在从我的 blade 文件向其传递一些数据,如下所示:
<my-widget :data-aircraft="{{ $aircraft }}"></my-widget>
当我将整个 $aircraft
object 传递给 Vue 组件时,我的应用程序进行了额外的 30 次数据库查询。如果我通过 $aircraft->id
,那些额外的 30 个查询就会消失。本例中vue组件为空,方便调试。
当我尝试将整个 $aircraft
object 作为道具发送时,我是否遗漏了 Laravel/Vue 在后台执行的操作?是不是只有 lazy-loading 我的 appends
属性才出现在我的 Aircraft
模型上?
您是"echoing"对象,这意味着Laravel将加载所有模型属性和关系。如果您在 blade 中使用变量,关系将仅在请求时加载。
我有一个 Vue 组件,我正在从我的 blade 文件向其传递一些数据,如下所示:
<my-widget :data-aircraft="{{ $aircraft }}"></my-widget>
当我将整个 $aircraft
object 传递给 Vue 组件时,我的应用程序进行了额外的 30 次数据库查询。如果我通过 $aircraft->id
,那些额外的 30 个查询就会消失。本例中vue组件为空,方便调试。
当我尝试将整个 $aircraft
object 作为道具发送时,我是否遗漏了 Laravel/Vue 在后台执行的操作?是不是只有 lazy-loading 我的 appends
属性才出现在我的 Aircraft
模型上?
您是"echoing"对象,这意味着Laravel将加载所有模型属性和关系。如果您在 blade 中使用变量,关系将仅在请求时加载。