Size: a a a

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

2020 January 14

AH

Andrey Helldar in Laravel для начинающих
Aleksandr Hkr
вот спасибо, сейчас попробую)
Еще лучше:
->when($ids, function($query, $ids) {
 return $query->whereIn('id', $ids);
})

https://laravel.com/docs/6.x/queries#conditional-clauses
источник

MG

Martin German in Laravel для начинающих
Andrey Helldar
Еще вопрос: у тебя какое количество новостей выводится?
@includeIf('news.templates.part_with_element_'.$news->count())
То есть есть шаблоны, например, 1, 2, 3, 4, ..., n+1 ?
на скрине (чуть сверху) по центру есть шаблон, в случае, когда есть 9 новостей
если всего 1 новость будет, то выпедется шаблон №1, который включает в себя только первый див и первый инклуд шаблона,
т.е. всего шаблонов 9, они отличаются количеством дивов и инклудов внутри
на текущем скрине привел шаблон, когда есть всего 1 новость.
источник

MG

Martin German in Laravel для начинающих
некрасиво, но другого решения пока нет
источник

AH

Aleksandr Hkr in Laravel для начинающих
Andrey Helldar
Еще лучше:
->when($ids, function($query, $ids) {
 return $query->whereIn('id', $ids);
})

https://laravel.com/docs/6.x/queries#conditional-clauses
т.е. когда есть $ids тогда и будет выполняться, правильно я понял?
источник

ИС

Илья Сакович in Laravel для начинающих
Aleksandr Hkr
т.е. когда есть $ids тогда и будет выполняться, правильно я понял?
Да
источник

AH

Aleksandr Hkr in Laravel для начинающих
круто, спасибо
источник

ИС

Илья Сакович in Laravel для начинающих
для уверенности провались в метод
источник

ИС

Илья Сакович in Laravel для начинающих
и глянь
источник

AH

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

AH

Andrey Helldar in Laravel для начинающих
Aleksandr Hkr
т.е. когда есть $ids тогда и будет выполняться, правильно я понял?
Sometimes you may want clauses to apply to a query only when something else is true. For instance you may only want to apply a where statement if a given input value is present on the incoming request. You may accomplish this using the when method:


Иногда вам нужно, чтобы условия применялись только когда что-то является истинным (true).
Например, вам нужно применять оператор where только в том случае, если во входящем запросе присутствует заданное значение. Вы можете сделать это используя метод when:

https://laravel.com/docs/6.x/queries#conditional-clauses
источник

AH

Aleksandr Hkr in Laravel для начинающих
Andrey Helldar
Sometimes you may want clauses to apply to a query only when something else is true. For instance you may only want to apply a where statement if a given input value is present on the incoming request. You may accomplish this using the when method:


Иногда вам нужно, чтобы условия применялись только когда что-то является истинным (true).
Например, вам нужно применять оператор where только в том случае, если во входящем запросе присутствует заданное значение. Вы можете сделать это используя метод when:

https://laravel.com/docs/6.x/queries#conditional-clauses
значит нужно в начале проверить и сделать переменную какую чтобы ставить тру или нет
источник

AH

Andrey Helldar in Laravel для начинающих
Aleksandr Hkr
да сейцчас потестю, первый вариант работает, но нужно больше данных чтобы проверить
Лучше второй вариант - это тот же что и первый, только выглядит лучше за счет использования механизма "из коробки".
Как говорится, зачем придумывать велосипед)
источник

AH

Andrey Helldar in Laravel для начинающих
Aleksandr Hkr
значит нужно в начале проверить и сделать переменную какую чтобы ставить тру или нет
Не совсем. Любая не пустая переменная - true в проверке условия.

Например,
php
$value1 = '15';
$value2 = 0;

return $value1 ? 'y' : 'n'; // вернет y
return (int) $value1 ? 'y' : 'n'; // вернет y

return $value2 ? 'y' : 'n'; // вернет n
return (int) $value2 ? 'y' : 'n'; // вернет n
источник

AH

Aleksandr Hkr in Laravel для начинающих
$documentTypes = $request->documentTypes ?? false;
я думаю так пойдет
источник

AH

Andrey Helldar in Laravel для начинающих
Aleksandr Hkr
$documentTypes = $request->documentTypes ?? false;
я думаю так пойдет
🙅‍♂️

$documentTypes = $request->get('documentTypes', false);
источник

AH

Aleksandr Hkr in Laravel для начинающих
Andrey Helldar
🙅‍♂️

$documentTypes = $request->get('documentTypes', false);
я еще такого не видел
источник

AH

Aleksandr Hkr in Laravel для начинающих
так правильнее делать?
источник

AH

Andrey Helldar in Laravel для начинающих
Aleksandr Hkr
так правильнее делать?
Я бы сказал не правильнее, а правильно.
Кто-то предпочитает $request->get(), кто-то - $request->input().

В доке убрали упоминание о первом методе: https://laravel.com/docs/6.x/requests#retrieving-input
источник

ИС

Илья Сакович in Laravel для начинающих
Aleksandr Hkr
$documentTypes = $request->documentTypes ?? false;
я думаю так пойдет
отсутствие значения пройдет как false в when
источник

AH

Aleksandr Hkr in Laravel для начинающих
Andrey Helldar
Я бы сказал не правильнее, а правильно.
Кто-то предпочитает $request->get(), кто-то - $request->input().

В доке убрали упоминание о первом методе: https://laravel.com/docs/6.x/requests#retrieving-input
значит он устарел? его больше не будет? или еще не переписали доку?
источник