如何在Eloquent中为列名加上别名

我有一个雄辩的模型,名为Eloquent:

Products::where("actice", "=", true)->get()->toArray();

现在,我想向其中添加连接语句,我定义了一个scopeQuery与:

public function scopeJoinWithTags($query)

{

return $query->leftJoin("tags", "tags.id", "=", "products.tag_id");

}

然后我们的主要查询更改为:

Products::where("actice", "=", true)->joinWithTags->get()->toArray();

我得到的没问题,这是我所期望的,但是我想将标签表的name属性更改为tag_name,该怎么办?我的意思是,我在查询中的某处说:

 tags.name AS tag_name

因此,在最终结果数组中,我这样做:

$result[$i]['tag_name'];

现在,我必须:

$result[$i]['name'];

回答:

最简单的方法是将所需字段添加到get()方法中,并为要重命名的字段添加别名。

Products::where("actice", "=", true)

->joinWithTags

->get(['tags.name AS tag_name', 'products.*'])

->toArray();

以上是 如何在Eloquent中为列名加上别名 的全部内容, 来源链接: utcz.com/qa/412326.html

回到顶部