2014-10-04 110 views
4

我有以下雄辩关系Laravel指定条件的morphMany收集

class Broker extends Eloquent{ 

    public function configurable(){ 
     return $this->morphTo(); 
    } 
} 

class ProductConfiguration extends Eloquent{ 

    public function productConfigurations() 
    { 
     return $this->morphMany('Excel\Products\ProductConfiguration','configurable'); 
    } 
} 

我可以很容易地发现,通过做这属于一个经纪人所有ProductConfigurations:

$broker = Broker::find($id); 
    $productConfigurations = $broker->productConfigurations; 

我我不清楚如何指定产品配置的条件,所以如果我的产品配置有一个type字段,如:

$broker = Broker::find($id); 
    $productConfigurations = $broker->productConfigurations->where('type' = 'reg'); 

检查文档我无法准确找到如何做到这一点。

回答

3

好了,只是必须有一个临时的脑冻什么的,那是因为这很容易:

$broker = Broker::find($id);  
    $configurations = $broker->productConfigurations() 
      ->where('type',$type) 
      ->get();;