Size: a a a

2021 May 20

MA

Mikhalkevich Alexand... in Laravel Pro
/link@yetanotherstatsbot
источник

AS

Anton Samofal in Laravel Pro
что такое после фильтрации? Ты же пишешь, что уже дистинкт в запросе есть
источник

AY

Artyom Yun in Laravel Pro
так дистинкт после селект, он убирает эти объекты в ответе, а у меня лимит 10 и нужно именно 10 в ответе
источник

AS

Andrey Shaposhnikov in Laravel Pro
Надо понимать что есть "план исполнения запроса" на уровне SQL. Если не применять "хитрых изращений", то в общем виде последовательность выполнения запроса - это:
WHERE + JOIN(s)
DISTINCT
ORDER
LIMITS

То есть сначала ограничивается выборка по конструкции WHERE и композиции JOIN (тут в зависимости от RIGHT/LEFT/INNER сам движок SQL может по-разному строить последовательность "отсева"), затем исключаются дубли (по всем полям или по указанным), потом то, что осталось упорядочивается согласно ORDER и из этого отсекается нужные пакет в рамках LIMITS.

Поправьте, если ошибаюсь.
источник

AY

Artyom Yun in Laravel Pro
Сейчас попробую, спасибо
источник

AS

Andrey Shaposhnikov in Laravel Pro
Если "поглубже ковырять палочкой" в то как работает SQL и познать профилирование запросов, планы исполнения, блокировки, применение индексов и временных таблиц - можно городить очень весёлые конструкции.

Но вообще надо помнить - конструкция DISTINCT - это одна из очень "тяжёлых" инструкций, которая потенциально может просаживать скорость работы SQL в разы. Особенно, если DISTINCT по всем полям и их много в запросе. И ещё до кучи без индексов те, что вроде не в отборе... Построение индексов - это вообще отдельный вид искусства. Могу для примера сказать, что просто изменение структуры индексов (проиндексированы все те же поля остались и все поля типов INT/BIGINT) на таблице всего в 20млн. строк изменили время выполнения чуть сложноватого запроса с примерно 20-25 секунд до 0,1-0,2 секунды (это из практики на одном из проектов)
источник

A

Arman in Laravel Pro
может дистинкт не лучшее решение для задачи? какая вообще задача?
источник

N

Nirvana in Laravel Pro
всем привет,есть каталог и категории,они связаны между собой таблицией категори_каталог.Теперь надо вывести все каталоги у которых общий категори_ид.Как это можно сделать?
источник

S

Sergey in Laravel Pro
Либо через категорию дергать каталоги, либо через каталоги с помощью whereHas
источник

N

Nirvana in Laravel Pro
чекну
источник

MG

Maksim Gnatkovsky in Laravel Pro
Используйте связи для этой задачи.
источник

MG

Maksim Gnatkovsky in Laravel Pro
Всем привет! Может кто-то сталкивался, не могу достучаться до первого(нулевого) элемента json. Json находится в бд,
   поле video у каждого продукта, у каждого видео свои настройки, и их(видео) может быть несколько у продукта - как указано ниже.

[
   {
       "link": "url_address",
       "path": null,
       "preview_path": null
   }
   {
       "link": "url_address",
       "path": null,
       "preview_path": null
   }
]

у меня не выходит проверить link 0-го элемента на null в запросе
источник

MG

Maksim Gnatkovsky in Laravel Pro
нужно исключить продукты без видео video
[
   {
       "link": "null",
       "path": null
   }
]
источник

N

Nirvana in Laravel Pro
а можно более подробнее?))
источник

MG

Maksim Gnatkovsky in Laravel Pro
public function category()
   {
       return $this->belongsTo('App\Shop\Manufacturer\Category', 'category_id')->withTranslation();
   }
источник

MG

Maksim Gnatkovsky in Laravel Pro
в моделе к каталогу
источник

N

Nirvana in Laravel Pro
спасибо,сейчас чекну
источник

MB

Max Bolgar in Laravel Pro
Здравствуйту, в Handler переопределяю обработку exception"ов для того что бы 500-ые ошибки слать себе в телеграм, как избежать бесконечного зацикливания, если в моем переопределеном коде будет какая-та ошибка?
источник

И

Игорь in Laravel Pro
Ограничить количество попыток в джобе
источник

D

Dymon in Laravel Pro
имхо это лучше в логере настроить, см. slack как пример
источник