Size: a a a

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

2021 May 25

S

Shotty in Laravel для начинающих
Это нельзя применить уже к самой коллекции в blade, например?

Чтобы не делать другой запрос, их и так много. 🙈
источник

S

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

А

Андрей in Laravel для начинающих
пофильтруй коллекцию
источник

А

Андрей in Laravel для начинающих
а если у тебя запросов много, значит ты что-то сделал не так) ты в n+1 угодил?
источник

J

Jeen in Laravel для начинающих
источник

S

Shotty in Laravel для начинающих
Там очень много сущностей, часть кода проекта не моего, трогать и рефакторить нельзя)) поэтому, надо из этого что-то сделать
источник

А

Андрей in Laravel для начинающих
кеш решает
источник

S

Shotty in Laravel для начинающих
спасибо, решил таким образом.

$designers->filter(function ($item) {
  return $item->companies->count() > 0;
})->count()
источник

А

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

S

Shotty in Laravel для начинающих
Группировать внутри фильтрация?
источник

А

Андрей in Laravel для начинающих
вот же тебе ссылку дали
источник

S

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

S

Shotty in Laravel для начинающих
Так точно нет -  
$designers->groupBy('companies');.
источник

А

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

J

Jeen in Laravel для начинающих
Через callback, как указано еще ниже в доке
источник

S

Shotty in Laravel для начинающих
Это я понял, но пока ещё не понятно, что именно внутри выводить, чтобы получить две результата нужных.

 $designers->groupBy(function ($item, $key) {
           return $item->companies->count() > 0;
       });
источник

J

Jeen in Laravel для начинающих
Это должно сработать
источник

А

Андрей in Laravel для начинающих
сделай и посмотри что у тебя выйдет, так удобнее, чем ты 2 раза будешь фильтровать
источник

S

Shotty in Laravel для начинающих
ну да, я получил под ключом 1 пользователей без компании, а в 0 с ними.

а можно ключу имя задать? Чтобы было удобно выводить потом в blade
источник

S

Shotty in Laravel для начинающих
источник