【发布时间】:2021-03-05 03:05:01
【问题描述】:
我正在使用 Laravel 8 开发我的项目,在这个项目中,我创建了两个表。
其中一个名为users,仅包含网站的用户信息,另一个名为tags,其中包含一些用户可以从中选择的主题标签。
我还创建了另一个名为tag_user 的表,它可以存储tag_id 和user_id,如下图所示:
然后在模型User,我添加了这个:
public function tags()
{
return $this->belongsToMany(Tag::class);
}
在模特Tag:
public function users()
{
return $this->belongsToMany(User::class);
}
现在我想在每个标签中显示name,Auth::user() 已被选中。
所以为了做到这一点,我编写了这个代码:
<h2 class="text-primary">{{ Auth::user()->tags() }}</h2>
但是这个返回htmlspecialchars() expects parameter 1 to be string, object given错误。
所以我的问题是,我怎样才能在刀片上正确显示这个结果?
非常感谢你们的任何想法或建议......
还有表格tags的截图,如果你想看的话:
提前致谢。
【问题讨论】:
-
您是否尝试过 Auth::user->tags 并记住没有 () 大括号?
-
@i89human 它显示了这个:
id":1,"name":"php","label":"","created_at":null,"updated_at":null,"pivot":{"user_id":4,"tag_id":1}},{"id":2,"name":"javascript","label":"","created_at":null,"updated_at":null,"pivot": -
@i89human 如何正确显示标签名称
-
我给了详细的回复。