通过道具在vuejs中的口才关系属性

里扎

我在通过道具从VueJS组件中访问雄辩者的关联时遇到问题。

因此,要将模型对象传递给vue组件,如下所示:

评论模型

public function post()
{
   return belongsTo('App\Post');
}

评论控制器

$comments = Comment::all()
return view('comments', ['comments' => $comments);

评论刀片

<comment-index :comments="{{ $comments }}"></comment-index>

组件视图

<template>
   <div>
      <table>
          <tr v-for="comment in comments">
             <td>{{ comment.message }}
             <td>{{ comment.post.title }} // post is undefined
          </tr>
      </table>
   </div>
</template>
<script>
    export default {
        props: ['comments'] 
    }
</script>

但是,如果我在控制器中循环发布并转储该帖子,则该帖子将显示在vue模板中:

$comments = Comment::all()

foreach($comments as $comment) {
   dump($comment->post->title);
}
return view('comments', ['comments' => $comments);
安娜·丽莎·潘达克(Ana Liza Pandac)

由于您在上使用Vue,因此在您通过控制器访问Vue时comment.bladepost它不会被延迟加载$comment->post->title

来自Laravel docs

当访问Eloquent关系作为属性时,关系数据是“延迟加载”的。这意味着直到您首次访问该属性,关系数据才被实际加载。

由于您正在使用Vue(客户端)进行访问post,因此延迟加载将无法进行,因此在您按如下方式访问它时不会进行加载:{{ comment.post.title }}导致其价值为undefined

为了解决这个问题,您可以post通过执行此操作来渴望加载评论

$comments = Comment::with('post')->get();

另外,如果您不延迟加载评论的帖子并且评论变大,则可能会导致N + 1查询问题导致性能问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP-通过道具名称更改对象道具

来自分类Dev

Laravel口才ORM中的多租户关系

来自分类Dev

RelayJS:如何通过道具设置initialVariables

来自分类Dev

在React Native中-是否可以在通过道具接收的动画值上添加侦听器?

来自分类Dev

反应-通过道具传递物体

来自分类Dev

如何通过道具服务器端反应

来自分类Dev

反应:通过道具向下传递Firebase数据

来自分类Dev

通过的hasMany关系Laravel口才组

来自分类Dev

反应钩子,无法通过道具更新状态

来自分类Dev

_layout.svelte中的插槽道具未通过道具

来自分类Dev

从商店获取与让父母通过道具获取和交付

来自分类Dev

无法通过道具更新子状态

来自分类Dev

Laravel口才通过关系

来自分类Dev

无法通过道具初始化状态

来自分类Dev

带TypeScript的Stripe ElementsConsumer:通过道具?

来自分类Dev

盖茨比:通过道具传递图像

来自分类Dev

无法获得通过道具传递的元素的值

来自分类Dev

如何通过道具在React中加载本地图像?

来自分类Dev

通过道具设置2个className

来自分类Dev

通过道具设置状态改变反应功能组件?

来自分类Dev

Angularjs + Laravel:在嵌套的ng-repeat中获取口才关系的属性

来自分类Dev

通过关系的口才约束

来自分类Dev

口才ORM中的关系查询

来自分类Dev

反应不通过道具传递状态给孩子

来自分类Dev

我想通过道具但仍然出错

来自分类Dev

无法通过道具传递的火方法

来自分类Dev

无法通过道具

来自分类Dev

通过道具传递整个对象在 Vue.js 中不起作用,而传递单个成员有效

来自分类Dev

无法通过道具传递/访问数组索引