如何在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