Size: a a a

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

2021 July 05

АН

Андрей Никитин... in Laravel для начинающих
Подскажите кто знает, нужно интегрировать апи банка, есть такой пункт:
Ловим на redirect_url пользователя и меняем код на токен запросом
источник

АН

Андрей Никитин... in Laravel для начинающих
Что подразумевает ловим?)
источник

ЭШ

Эльдар Шайхисламов... in Laravel для начинающих
Ну, я понял это примерно так:
При переходе по адресу redirect_url мы попадаем в роут, который, в свою очередь, обрабатывается каким-то методом внутри контроллера. Этот метод принимает запрос (Request $request), и этот запрос мы ловим
источник

R#

Reset # Alexey S. in Laravel для начинающих
принимаем запрос
источник

SG

Sergey Gerasimov in Laravel для начинающих
Есть возможность получить ключ на степике, как минимум 3 месяца на все продукты жетбрейнса, которые легко превращаются в ~9 месяцев
источник

V

Vitaly in Laravel для начинающих
а также следом купить уже лицензию со скидкой
источник

SG

Sergey Gerasimov in Laravel для начинающих
Там немного не хватит до скидки, но да
источник

V

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

SG

Sergey Gerasimov in Laravel для начинающих
Ну это не помню, у меня до сих пор не закончилась 😏
источник

АП

Александр Панков... in Laravel для начинающих
Здравствуйте
Подсажите пожалуйста
1) есть у меня данные (сущность уведомление) с флагом просмотрено\не просмотрено
2) я их как-то фильтрую (кому и от кого и тп), пагинирую и вывожу через API Resources :: collection
3)  мне выдается json с meta внутри которого ссылки на странице - все супер

Встала задача добавить к ответу общее количество просмотренных И не просмотренных уведомлений
в справке вычиатл метод with (от ResourceCollection) который может доабвитб какие то данные в ответ
вот ссылка на доку https://laravel.com/docs/8.x/eloquent-resources#top-level-meta-data

я планирую решить задачу использую этот метод
те там я сделаю запрос ко возвратит мне общее количество уведомлений обоих типов

это правильный подход или как-то можно лучше?

если кратко
вообще у меня выводит по 5 шт уведомлений и там например 10 страниц всех уведомлений
в этом ответе нужно приаттачить параметры которые показывают сколько всего заявок того или оного типа
источник

AH

Andrey Helldar in Laravel для начинающих
Если сам ресурс обрабатывает как просмотренные, так и не просмотренные, то в методе with можно с коллекцией работать. Например:

public function with($request)
{
   return [
       'showed_count' => $this->collection->filter(fn ($item) => $item->is_show)->count(),
       'new_count'    => $this->collection->filter(fn ($item) => ! $item->is_show)->count(),
   ];
}


Если только одно из этих состояний, то вполне можно кинуть запросы. Например:

public function with($request)
{
   return [
       'showed_count' => $this->showCount(true),
       'new_count'    => $this->showCount(false),
   ];
}

protected function showCount(bool $is_show): int
{
   return Page::where(compact('is_show'))->count();
}
источник

AH

Andrey Helldar in Laravel для начинающих
НО в первом случае нюанс - вернёт количество только из тех, что есть в данной коллекции.
Если нужен общий счётчик, то следует второй вариант рассмотреть.
источник

АП

Александр Панков... in Laravel для начинающих
Спасибо
ресурс работает со всем вподряд
источник

АП

Александр Панков... in Laravel для начинающих
только хотел об этом писать)
буду запрос строить значит
спасибо!
источник

AH

Andrey Helldar in Laravel для начинающих
Рекомендую два запроса написать - один для просмотренных, второй для не просмотренных.
Если взять общий, а потом выполнять фильтрацию и подсчёт на стороне приложения, то это более затратно по ресурсам будет.

А в запросе, главное, в индексы попасть при построении условий. Тогда трафик у них копеечный будет.
источник

АП

Александр Панков... in Laravel для начинающих
понял, но вообще щас начал сырой запрос писать с агрегатными функциями, хочу одним зпросом отделаться кастомным, если это вообще возможно будет
если не смогу - сделаю как вы рекомендуете
источник

AH

Andrey Helldar in Laravel для начинающих
Проще ёлку заюзать, а не придумывать велосипед
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
Case when замечательно подойдет
источник

AH

Andrey Helldar in Laravel для начинающих
Часто бывает, что несколько запросов отрабатывают быстрее одного с условиями.
источник

АП

Александр Панков... in Laravel для начинающих
понял, вообще всегда струмлюсь делать как можно меньше запросов, возможно, зря
источник