Laravel Eloquent:如何在Json响应中生成一个虚假列?

4
我有两个模型:UaiInformation,它们之间有一个hasOne关系。
Uai (uai_id, a)
Information (uai_id, b)

我希望生成一个Json响应,其中包含:
- 所有的`Uai`记录 - 一个“假”的列,如果`Uai`和`Information`之间存在hasOne关系,则为`true`,否则为`false`
有什么想法吗?
提前感谢Pagumemou。
编辑1: 感谢jedrzej.kurylo的回答。 如何在fake column getter中使用当前行的`uai_id`?我经常使用getter和setter,但从未尝试过使用另一列的内容。你能给我一个例子吗?
如果我理解正确,我可以像其他列名一样在选择中使用`fake column name`。是这样吗?
1个回答

8

Eloquent允许您轻松地将自定义字段添加到模型的JSON表示中。

首先,您需要在模型类中定义一个附加字段列表,可以通过定义$appends属性来实现:

protected $appends = ['fakeColumnName'];

其次,在假列中添加getter方法,该方法将为自定义列提供值:
public function getFakeColumnNameAttribute() {
    //here add the code that will return custom column's value
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接