I have an eloquent model named Eloquent:
Products::where(\"actice\", \"=\", true)->get()->toArray();
Now I want to add join-statement
Simplest way to do this would be to add the fields you need to the get()
method and alias the ones you want to rename there.
Products::where("actice", "=", true)
->joinWithTags
->get(['tags.name AS tag_name', 'products.*'])
->toArray();
There is also a cleaner way to achieve this
You can take advantage of laravel mutators
public function getTagNameAttribute()
{
return $this->attributes['name'];
}
Hope this helps
On Laravel 5.4 (I don't know if earlier version also apply) you can do that with the select
method:
Products::where("actice", "=", true)
->joinWithTags
->select('tags.name AS tag_name', 'products.*')
->get();
At least for me this is cleaner.