INFO: Using Laravel 5.2
BaseModel extends Eloquent
I have three models that I want to get a relationship for. Here are my models and there relationships.
class A extends BaseModel
{
protected $table = 'a';
use SoftDeletes;
public function b ()
{
return $this->hasMany(B::class);
}
}
For class B
class B extends BaseModel
{
protected $table = 'b';
use SoftDeletes;
public function A ()
{
return $this->belongsTo(A::class);
}
public function C ()
{
return $this->belongsTo(C::class);
}
}
For class C
class C extends BaseModel
{
protected $table = 'c';
use SoftDeletes;
public function b ()
{
return $this->hasMany(B::class);
}
}
I want to be able to get the distant C relationships from A. For instance:
$cCollection = $a->b->c;
That is find me all Cs that belong to Bs that are owned by A.
I know I can call $a->with('c.b')
but that query is computationally expensive. I want to be able to call it just like a normal relationship. Any ideas?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire