Showing nested relationships details
This is soooo easy but this is always something this easy can be missed. In this example we have a Property Model with Buildings that have an address.
So the model files look like this
//Property.php
//structures = buildings
public function structures()
{
return $this->hasMany('Structure');
}
//Structure.php
public function address()
{
return $this->belongsTo("Address");
}
So when I query a property I now get
{
"id": 1,
"structures": [
{
"id": 6,
"address_id": 9,
"address": {
"id": 9,
"city": "Melvinport",
"state": "MT",
"zip": "75182",
"lat": -18.370000839233,
"lng": 36.270000457764,
"created_at": "2014-06-09 16:18:40",
"updated_at": "2014-06-09 16:18:40"
}
Then in my query for properties I just included this with statement.
public function search($args)
{
$term = $args['terms'];
$found = $this->property->with('structures.address')
->where("name", "LIKE", "%{$term}%")
->get();
return $found;
}
the dot notation basically showing load Structures and the Address data related to those.
comments powered by Disqus