2016-08-02 3 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(); 

Он ничего не возвращает. Я думаю, что существует другой способ построения запросов с отношениями?

То, что я пытаюсь сделать, это добавить фильтр между фильтрами к полученным отношениям.

ответ

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

Смежные вопросы