I know that I can use the below to eager load relationships, but how do I add "shortcuts" in the model - so that I do not have to keep digging to get the data. i.e. instead of writing (and digging down each time)
->with('location.company')
I would rather write
->with('location')->with('company')
(Example model that returns the data for location and null for company)
/**
* Returns the location that the equipment belongs to.
*
* @var array
*/
public function location()
{
return $this->belongsTo('App\Location');
}
/**
* Returns the company that the equipment belongs to.
*
* @var array
*/
public function company()
{
return $this->location->company();
}
You can't eager load the company without eager loading the location. Whatever you do there will be two queries to the database.
Inside the eloquent model (Illuminate/Database/Eloquent/Model.php) there is a $with array. You can override it. When it is override the specified relations will be always eager-loaded. Maybe this will help you.
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community