Size: a a a

Laravel для начинающих

2020 April 07

И

Игорь in Laravel для начинающих
mr. angeluss
в репозитории.
ох
источник

ma

mr. angeluss in Laravel для начинающих
неважно. $this->model возвращает именно то, что нужно
источник

И

Игорь in Laravel для начинающих
mr. angeluss
неважно. $this->model возвращает именно то, что нужно
так там модель?
источник

ma

mr. angeluss in Laravel для начинающих
Я знаю, тут своя логика и нужно в репе все делать
источник

ma

mr. angeluss in Laravel для начинающих
да. ДА я даже просто писал ModelName:: вместо $this->model
источник

ma

mr. angeluss in Laravel для начинающих
ВОт что не так с этой конструкией:
$model = $this->model->where(
           [
               ['created_at', '>=', $dateFrom,],
               ['created_at', '<=', $dateTo,]
           ]
       )->get();

КОмменчу любое из двух условий - отрабатывает правильно. Вместе - нет(
источник

И

Игорь in Laravel для начинающих
mr. angeluss
да. ДА я даже просто писал ModelName:: вместо $this->model
тогда не понимаю. Ты можешь сделать запрос к БД с этими методами. Можешь применить это к коллекции. А что за выборка в модели?
источник

И

Игорь in Laravel для начинающих
там либо билдер должен быть, либо коллекция
источник

И

Игорь in Laravel для начинающих
что лежит в $this->model, проясни
источник

ma

mr. angeluss in Laravel для начинающих
Мне просто нужно выбрать Все объекты, у которых created_at  между $dateFrom и $dateTo, каждый из которых - объект Карбон. Дополнительно нужно where ('status', 1), но это детали
источник

ma

mr. angeluss in Laravel для начинающих
Игорь
что лежит в $this->model, проясни
модель лежит. $this->model->get(); вернет все записи
источник

И

Игорь in Laravel для начинающих
mr. angeluss
Всем привет. Как это работает:
Есть запись в БД, у которой created_at = 2020-04-23 23:36:07

Есть две переменных  $dateFrom, $dateTo - обе объекты Carbon - соответственно 2020-04-22 23:36:07 и 2020-04-24 23:36:07
Я пишу $model = $this->model->whereBetween('created_at', [$dateFrom, $dateTo])->get();
Но var_dump( count( $model ) ) все равно 0
Пытался $dateFrom->format('Y-m-d') - результат тот же.

Что я делаю не так?
но вот это не работает?
источник

ma

mr. angeluss in Laravel для начинающих
угу. Возвращает 0 записей
источник

И

Игорь in Laravel для начинающих
mr. angeluss
угу. Возвращает 0 записей
а записи есть?
источник

И

Игорь in Laravel для начинающих
может там не подходит под условие ничего
источник

ma

mr. angeluss in Laravel для начинающих
$model = $this->model->where(
           [
               ['created_at', '>=', $dateFrom,],
               ['created_at', '<=', $dateTo,]
           ]
       )->get();
ВОзвращает 0 записей.

$model = $this->model->where(
           [
               ['created_at', '>=', $dateFrom,],
           ]
       )->get();
ВОзвращает 4 записи (так и должно быть)

$model = $this->model->where(
           [
               ['created_at', '<=', $dateTo,]
           ]
       )->get();
Возвращает 146 записей (так и должно быть).
источник

ma

mr. angeluss in Laravel для начинающих
у меня точно есть 4 записи с датой 2020-04-23 23:36:07

$dateFrom, $dateTo - обе объекты Carbon - соответственно 2020-04-22 23:36:07 и 2020-04-24 23:36:07
источник

И

Игорь in Laravel для начинающих
мне between  больше нравится
источник

И

Игорь in Laravel для начинающих
в данном конкретном случае
источник

ma

mr. angeluss in Laravel для начинающих
Я начинал с него
источник