2014-10-04 52 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();;