Size: a a a

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

2020 March 28

ИС

Илья Сакович... in Laravel для начинающих
DK
Актив лог
Пермишен
И что-то ещё было
Medialibrary?
источник

AB

Alex Bowey in Laravel для начинающих
Привет
Какие решения/пакеты есть для установления лимита запросов при обращении к апи юзерами? И вообще как такое можно провернуть?
Записывать куда данные юзера?
источник

VY

Vadym Yakovenko in Laravel для начинающих
Alex Bowey
Привет
Какие решения/пакеты есть для установления лимита запросов при обращении к апи юзерами? И вообще как такое можно провернуть?
Записывать куда данные юзера?
источник

Д

Дмитрий in Laravel для начинающих
Добрый день. Подскажите пожалуйста про оптимизацию SQL запросов.
Каким образом я могу отслеживать все SQL Запросы на моем сервере, время их выполнения и т.д
Например у меня задача :

Есть категория и в ней есть задачи
И мне нужно вернуть категория и количество заданий сколько выполнено, сколько заблокировано и сколько в работе (поле status в таблице tasks)
Я думаю сделать вот так :

$res =Category::all()->withCount(['sites as tasks_wait' => function ($query) {
               $query->where("status", 0);
           }])->withCount(['sites as  tasks_success' => function ($query) {
               $query->where("status", 1);
           }])->withCount(['sites as tasks_stop' => function ($query) {
               $query->where("status", 2);
           }])->get()

И я не знаю, на сколько этот запрос будет нагружать систему.
ПОдскажите, кто как отслеживает
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Дмитрий
Добрый день. Подскажите пожалуйста про оптимизацию SQL запросов.
Каким образом я могу отслеживать все SQL Запросы на моем сервере, время их выполнения и т.д
Например у меня задача :

Есть категория и в ней есть задачи
И мне нужно вернуть категория и количество заданий сколько выполнено, сколько заблокировано и сколько в работе (поле status в таблице tasks)
Я думаю сделать вот так :

$res =Category::all()->withCount(['sites as tasks_wait' => function ($query) {
               $query->where("status", 0);
           }])->withCount(['sites as  tasks_success' => function ($query) {
               $query->where("status", 1);
           }])->withCount(['sites as tasks_stop' => function ($query) {
               $query->where("status", 2);
           }])->get()

И я не знаю, на сколько этот запрос будет нагружать систему.
ПОдскажите, кто как отслеживает
Этот запрос вообще не рабочий
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Замени all на query
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Дмитрий
Добрый день. Подскажите пожалуйста про оптимизацию SQL запросов.
Каким образом я могу отслеживать все SQL Запросы на моем сервере, время их выполнения и т.д
Например у меня задача :

Есть категория и в ней есть задачи
И мне нужно вернуть категория и количество заданий сколько выполнено, сколько заблокировано и сколько в работе (поле status в таблице tasks)
Я думаю сделать вот так :

$res =Category::all()->withCount(['sites as tasks_wait' => function ($query) {
               $query->where("status", 0);
           }])->withCount(['sites as  tasks_success' => function ($query) {
               $query->where("status", 1);
           }])->withCount(['sites as tasks_stop' => function ($query) {
               $query->where("status", 2);
           }])->get()

И я не знаю, на сколько этот запрос будет нагружать систему.
ПОдскажите, кто как отслеживает
withCount можно сгруппировать в один вызов
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Дмитрий
Добрый день. Подскажите пожалуйста про оптимизацию SQL запросов.
Каким образом я могу отслеживать все SQL Запросы на моем сервере, время их выполнения и т.д
Например у меня задача :

Есть категория и в ней есть задачи
И мне нужно вернуть категория и количество заданий сколько выполнено, сколько заблокировано и сколько в работе (поле status в таблице tasks)
Я думаю сделать вот так :

$res =Category::all()->withCount(['sites as tasks_wait' => function ($query) {
               $query->where("status", 0);
           }])->withCount(['sites as  tasks_success' => function ($query) {
               $query->where("status", 1);
           }])->withCount(['sites as tasks_stop' => function ($query) {
               $query->where("status", 2);
           }])->get()

И я не знаю, на сколько этот запрос будет нагружать систему.
ПОдскажите, кто как отслеживает
А насчёт производительности - юзай DESCRIBE
источник

Д

Дмитрий in Laravel для начинающих
Иван Лещенко
Этот запрос вообще не рабочий
Да я не тестил его, просто с головы написал как пример
источник

M

Michael in Laravel для начинающих
Во-первых, в процессе разработки по данным в Телескопе или в barryvdh/laravel-debugbar
А на продакшне можно при помощи thomasjohnkane/slow-query-notifier поставить уведомляшку
источник

Д

Дмитрий in Laravel для начинающих
Иван Лещенко
withCount можно сгруппировать в один вызов
А можно пример как в таком случае сгрупировать в 1?
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Дмитрий
А можно пример как в таком случае сгрупировать в 1?
Закинь в один массив все твои ключ=>кложур значения
источник

Д

Дмитрий in Laravel для начинающих
Иван Лещенко
Закинь в один массив все твои ключ=>кложур значения
$res =Category::query()->withCount([['sites as tasks_wait' => function ($query) {
               $query->where("status", 0);
           }],
     ['sites as  tasks_success' => function ($query) {
               $query->where("status", 1);
           }],
     ['sites as tasks_stop' => function ($query) {
               $query->where("status", 2);
           }]])->get()

Вот так ?
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Дмитрий
$res =Category::query()->withCount([['sites as tasks_wait' => function ($query) {
               $query->where("status", 0);
           }],
     ['sites as  tasks_success' => function ($query) {
               $query->where("status", 1);
           }],
     ['sites as tasks_stop' => function ($query) {
               $query->where("status", 2);
           }]])->get()

Вот так ?
А сейчас ты создал кучу массивов в массиве
источник

Д

Дмитрий in Laravel для начинающих
$res =Category::query()->withCount(['sites as tasks_wait' => function ($query) {
               $query->where("status", 0);
           },
     'sites as  tasks_success' => function ($query) {
               $query->where("status", 1);
           },
     'sites as tasks_stop' => function ($query) {
               $query->where("status", 2);
           }])->get()
источник

Д

Дмитрий in Laravel для начинающих
все понял)) так вроде)
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Дмитрий
$res =Category::query()->withCount(['sites as tasks_wait' => function ($query) {
               $query->where("status", 0);
           },
     'sites as  tasks_success' => function ($query) {
               $query->where("status", 1);
           },
     'sites as tasks_stop' => function ($query) {
               $query->where("status", 2);
           }])->get()
Теперь да)
источник

T

Tim in Laravel для начинающих
Народ, подскажите, какими методами можно определить, что вызывает долгий ответ сервера?
источник

M

Michael in Laravel для начинающих
отсечением возможных вариантов
источник

T

Tim in Laravel для начинающих
Michael
отсечением возможных вариантов
а никаких автоматических решений нет? типа запустил прогу и она показывает, какой скрипт сколько выполняется? или в логах где мб такое есть?
источник