我只是更改了文本编辑器,所以这个错误没有解决方案。 ---->试图获取非对象的属性“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->user
正在返回null
,因此您无法从中访问id
(null
没有属性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”的主要内容,如果未能解决你的问题,请参考以下文章
HTML5 Canvas:图像上的文本绘制在图像更改时停止显示
在 Summernote 中更改 FontSize 非常错误