天才们。
我正在制作Instagram类似于Laravel的网站。
人们可以发布照片,按“爱”按钮,就像我们在Instagram上做的那样。
我的问题是如何实现当前登录用户是否被按下“爱”。
我终于得到了用户按下“爱”的列表,如下所示。但这是太多无用的信息。如果1k人推“爱”..。会很糟糕的JSON。
我已经浪费了一整天的时间来制作这个角色..。希望我能得到你的帮助。谢谢。
当前JSON结构.

当前代码.

注释模型.

发布于 2019-07-13 03:08:04
您可以使用属性和附加来创建自定义数据字段。因为它是布尔值,所以我将它命名为is_loved,但是如果您愿意,可以更改它。
class Comment extends Model
{
// attributes to append to JSON response
protected $appends = ['is_loved'];
// ... your other properties and methods
public function getIsLovedAttribute()
{
if (auth()->check()) {
return !! $this->loveComments()->where('from',auth()->user()->id)->count();
}
return false;
}
}现在不再需要加载love_comments关系了。
编辑:我添加了一个授权检查,以确保用户首先登录。这是为了防止你向客人公开发表评论。否则,可能会引发错误。
https://stackoverflow.com/questions/57015118
复制相似问题