Добрый день!
Суть проблемы в том что при выборке депозитов у которых срок в диапазоне от и до:
$deposits = new Deposits;
/* тут еще код */
$deposits = $deposits->whereHas('currencies', function ($query) use ($post) {
switch ($post['term']) {
case 1: { $query->where('term_ot', '<=', 1); break; }
case 2: { $query->where('term_ot', '>=', 1)->where('term_ot', '<=', 3); break; }
case 3: { $query->where('term_ot', '>=', 3)->where('term_ot', '<=', 6); break; }
case 4: { $query->where('term_ot', '>=', 6)->where('term_ot', '<=', 9); break; }
case 5: { $query->where('term_ot', '>=', 9)->where('term_ot', '<=', 12); break; }
case 6: { $query->where('term_ot', '>=', 12)->where('term_ot', '<=', 24); break; }
case 999: { $query->where('term_ot', '>=', 24); break; }
}
}
Когда делаю
dd($deposits->toSql());
Показать запрос в sql формате и вставляю в MySQL менеджер, то выдает результат правильный.
А когда вывожу
$deposits = $deposits->orderBy('title')->get();
То так выводит больше результатов.
Почему так происходит?