2016-08-02 67 views
0

我有這個疑問的輔助方法WhereBetween在我的感覺模型許多一對多的關係

public function asAroma() 
    { 
     return $this->belongsToMany('App\SensoryEvaluationForm')->wherePivot('sensory_type', '=', 2); 
    } 

我怎樣才能查詢到這個? 我像這樣使用

$cs = App\Sensory::first(); 
$cs->asAroma()->whereBetween('created_at', [$startingDate, $endingDate])->get(); 

它什麼都沒有返回。我認爲用關係構建查詢有不同的方式嗎?

我想要做的是添加wherebetween過濾器到結果關係。

回答

0

我已經找到了答案,看來我需要指定created_at的表名屬性我想引用在這種情況下sensory_evaluation_forms.created_at

1

使用whereHas()並將回調傳遞給它。

CsModel::with('asAroma')->whereHas('asAroma', function($query) use ($start, $end) { 
    $query->whereBetween('created_at', [$start, $end]); 
})->get(); 
+1

我經常看到這些答案,它的工作,但我已經找到了更簡單的方法。檢查我的答案。謝謝你的迴應:) – Wreigh

+0

新招,謝謝:) – wonyeouuu

+0

是啊,我只是試過,並且自己覺得它很有用XD – Wreigh