我有一个名为 Eloquent 的雄辩模型:
Products::where("actice", "=", true)->get()->toArray();
现在我想向它添加连接语句,我定义了一个范围查询:
public function scopeJoinWithTags($query)
{
return $query->leftJoin("tags", "tags.id", "=", "products.tag_id");
}
然后我们的主要查询变为:
Products::where("actice", "=", true)->joinWithTags->get()->toArray();
我得到的是好的,这是我所期望的,但是我想将 tags 表的 name 属性更改为 tag_name,我应该怎么做?我的意思是,我在查询中的某处说:
tags.name AS tag_name
所以在最终的结果数组中我这样做:
$result[$i]['tag_name'];
虽然现在我必须:
$result[$i]['name'];
原文由 Mostafa Talebi 发布,翻译遵循 CC BY-SA 4.0 许可协议
执行此操作的最简单方法是将您需要的字段添加到
get()
方法并为您要在其中重命名的字段添加别名。