我不知道如何提出这个问题,问题并不像描述那么清楚。但在这里它。 我想查询父模型,通过查询子模型。以下是基本模型:
//Gig.php
class Gig extends Eloquent
{
public function gigable()
{
return $this->morphTo('profile');
}
}
//Band.php
class Band extends Eloquent {
public function gigs()
{
return $this->morphMany('Gig','profile');
}
}
//Musician.php
class Musician extends Eloquent {
public function gigs()
{
return $this->morphMany('Gig','profile');
}
}
现在,我知道我可以这样做:
Gig::find(1)->gigable
有没有办法可以在一个查询中检索gigables 例如,对于我的api,我可以立刻返回所有的gigable。 类似的东西:
Gig::where('id','>',1)->gigable
我知道那些不起作用。 比如反过来我可以做点什么,
Band::with('gigs')->where('created_at','<',Carbon::now())->get();
答案 0 :(得分:0)
使用如下
//Gig.php
class Gig extends Eloquent {
public function gigable()
{
return $this->morphTo();
}
}
//Band.php
class Band extends Eloquent {
public function gigs()
{
return $this->morphMany('Gig','gigable');
}
}
//Musician.php
class Musician extends Eloquent {
public function gigs()
{
return $this->morphMany('Gig','gigable');
}
}
然后你就能以这种方式获得演出:
$band = Band::with('gigs')->where('created_at','<',Carbon::now())->get();
$gigs = $band->gigs;
如果这是你想要的......你的问题不清楚