WhereBetween在多对多关系中

时间:2016-08-02 02:44:49

标签: laravel eloquent

在我的感官模型中,我有这个查询辅助方法

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

如何向此添加查询? 我正在使用它

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

它什么都不返回。我认为使用关系构建查询有不同的方法吗?

我要做的是在过滤器之间添加一个中间关系。

2 个答案:

答案 0 :(得分:1)

使用whereHas()并将回调传递给它。

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

答案 1 :(得分:0)

我已经找到了答案,似乎我需要指定我想在这种情况下引用的created_at属性的表名where iterator = 875