我只是更改了文本编辑器,所以这个错误没有解决方案。 ---->试图获取非对象的属性“id”

Posted

技术标签:

【中文标题】我只是更改了文本编辑器,所以这个错误没有解决方案。 ---->试图获取非对象的属性“id”【英文标题】:I just changed the text editor, so this error has no solution. ---->Trying to get property 'id' of non-object 【发布时间】:2020-04-07 00:53:16 【问题描述】:

刀片:

Facade\Ignition\Exceptions\ViewException

 <td><i class="fas fa-arrow-up text-success mr-3"></i>  $post->user->id</td>

我刚换了文本编辑器,所以这个错误没有解决办法。我有 尝试了所有可能的解决方案,因为它没用

模型用户

public function posts()
        return $this->hasMany('App\Post');
    

模特帖

  public function user()
        return $this->belongsTo('App\User');
    

【问题讨论】:

文本编辑器与任何东西有什么关系? ...显然$post 没有user 永远不要假设存在某些东西...$post-&gt;user 正在返回null,因此您无法从中访问idnull 没有属性id)。在访问 id 之前添加检查是否存在,调整您的初始查询,通过数据库逻辑强制关系等。这与您的文本编辑器无关... @TimLewis 我已经尝试了所有可能的解决方案,但没有解决 @lagbox 那我该如何解决呢? 【参考方案1】:

错误告诉您$post 对象没有连接到此实例的user 模型。它无法从 null 获得 id

要检查,请转储您的 $post 模型 - 确保附加了 user。如果没有,请检查您的 store() / update() 方法 - 您是否成功地将 user 附加到 $post 模型?

【讨论】:

那么,即使我已经尝试了所有可能的解决方案但还没有解决我与 Role 的关系,它如何与无关的关系很好地工作 您在$post 模型上的关系很好。只是对于那个特定的$post,没有附加user。确保您的 store()update() 方法将用户附加到帖子。查看 Laravel 中的 attach()sync() 方法 - 您实际上是在将用户添加到存储/更新方法中的帖子吗?查看您的表格以查看或转储 $post 模型 - 如果没有附加 user,您就知道它没有正确添加。

以上是关于我只是更改了文本编辑器,所以这个错误没有解决方案。 ---->试图获取非对象的属性“id”的主要内容,如果未能解决你的问题,请参考以下文章

更改 ItemDelegate 的背景和文本颜色

如何强制文本字段开始编辑?

HTML5 Canvas:图像上的文本绘制在图像更改时停止显示

在 Summernote 中更改 FontSize 非常错误

Jquery File Upload blueimp 无法更改错误消息文本

保存在 webView 中呈现的可编辑文本