Size: a a a

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

2021 October 29

VY

Vladimir Yefremov in Laravel для начинающих
Привет всем!

из одной и той же таблицы получаю данные за сегодня и за вчера;
дальше нужно показать разницу стоимости за эти сутки;
чтобы было точное соответствие - бегаю циклом по коллекции сравниваю записи по 7 полям, таким образом:
       $dataDayBefore = UacCashPrice::where('date', $dayBeforeDate)->get();

        foreach ($actualQuery as $key => $actRow) {
           $foundRow = $dataDayBefore
               ->where('commodity', $actRow['commodity'])
               ->where('quality', $actRow['quality'])
               ->where('country', $actRow['country'])
               ->where('port', $actRow['port'])
               ->where('condition', $actRow['condition'])
               ->where('currency', $actRow['currency'])
               ->where('month_num', $actRow['month_num'])
               ->flatten();

           if ($foundRow->count() > 0) {
               $actualQuery[$key]['day_diff'] = $actRow['seller_avg'] - $foundRow->first()->seller_avg;
           }
       }
в каждой из коллекций примерно 350 записей - вроде совсем не много, но
этот цикл выполняется 15 секунд;

подскажите плз способы оптимизации или вообще - как по-другому сравнить коллекции?
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Использовать отдельную базу для тестов
источник

ВК

Виталий Кудрявцев... in Laravel для начинающих
Спасибо за ответ, но я чет затупил.
Миграции то нужны, таблички то.
Просто в миграциях наполнял еще данными. Теперь перед тестов чищу нужную таблицу
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Миграции для структуры, сиды для наполнения
источник

ВК

Виталий Кудрявцев... in Laravel для начинающих
так а как быть если структура поменялась в процессе ? каждый раз переписывать сид ?
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Принцип тестирования в том, что каждый тест как-бы уникален
источник

ВК

Виталий Кудрявцев... in Laravel для начинающих
это  я понимаю
источник

ВК

Виталий Кудрявцев... in Laravel для начинающих
я уже не про тесты
источник

ВК

Виталий Кудрявцев... in Laravel для начинающих
а про просто миграции
источник

ВШ

Виталий Шутов... in Laravel для начинающих
Ну да, переписывать сиды
источник

ВШ

Виталий Шутов... in Laravel для начинающих
А как еще?
источник

ВК

Виталий Кудрявцев... in Laravel для начинающих
получается никак )
источник

ВК

Виталий Кудрявцев... in Laravel для начинающих
да , так как раз лишними данными база при тестах не будет заполнятся
источник

ВК

Виталий Кудрявцев... in Laravel для начинающих
четко
источник

ВК

Виталий Кудрявцев... in Laravel для начинающих
спасибо!
источник

V

Vladislav in Laravel для начинающих
Ребят вопрос, проект на докере, и на другом ПК, при php artisan storage:link изображения все равно не отображаются, как можно решить?
источник

SD

Sergey Donin in Laravel для начинающих
у меня вот прям сию секунду работает ботман+лара8 Там все просто, но сам ботман давно не обновлялся и возможно пейлоады его драйверов , мягко говоря, устарели
источник

MY

Maxim Yur. in Laravel для начинающих
Это валидная конструкция?
use App\Models\{Tag, Article};
источник

V

Vladislav in Laravel для начинающих
Не, использую обычный docker-compose, не в гите они
источник

V

Vladislav in Laravel для начинающих
Но потом сайт на хост пойдёт, для проверок и т.д
источник