gpt4 book ai didi

php - 是否可以在 Laravel 查询生成器中按条件将自定义字段添加到 JSON?

转载 作者:行者123 更新时间:2023-11-29 09:39:06 25 4
gpt4 key购买 nike

天才们。

我正在通过 Laravel 制作类似 Instagram 的网站。
人们可以发布图片,按下“爱”按钮,就像我们在 Instagram 上所做的那样。

我的问题是如何实现当前登录用户是否被推送“爱”。

我终于成功地在这个 Controller 中获取了哪个用户推送了“love”的列表,如下所示。但无用的信息太多了。如果 1000 个人推“爱”怎么办……这将是可怕的 JSON。

我已经花了一整天的时间来制作这一部分......希望我能得到你的帮助。谢谢。

当前 JSON 结构。 current Json structure当前代码。 Current Code评论模型。 Comment model

最佳答案

您可以使用属性和附加来创建自定义数据字段。因为它是一个 bool 值,所以我将其称为 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 关系。

编辑:我添加了授权检查以确保用户首先登录。这是为了防止您向客人公开发表评论。否则,可能会引发错误。

关于php - 是否可以在 Laravel 查询生成器中按条件将自定义字段添加到 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57015118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com