Size: a a a

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

2020 January 23

Д

Діма in Laravel для начинающих
DK
(вроде так)
Понял
источник

Д

Діма in Laravel для начинающих
Roman Kolosov
они в цикле проверяются зачем делать запрос к бд, если длина будет больше
Да я скопировал из доки пример)
Это не мой код
источник

AH

Andrey Helldar in Laravel для начинающих
Діма
вопрос
$request->validate([
'title' => 'required|unique:posts|max:255',

posts это название таблицы в БД ?
или модель?
Название таблицы
источник

Д

Діма in Laravel для начинающих
Спасибо
источник

SK

Stas K in Laravel для начинающих
Подскажите: есть список всех магазинов который я вытягиваю а есть связь магазинов с книгами в них но мне нужно вытянуть количество книг (withCount) туда где в данный момент магазины отркыты нормально ли отработает и небудет какой то цикличности еслия внутри визКаунта вызову обратную связь книг с магазинами в замыкании и укажу там в условии что данный магазан открыт. А то выходит какая то рекурсия что ли хз по виду магазин вытягивате книги а те тянут магазины с проверкой внутри скажем так
источник

SS

Serg Serdyuk in Laravel для начинающих
Stas K
Подскажите: есть список всех магазинов который я вытягиваю а есть связь магазинов с книгами в них но мне нужно вытянуть количество книг (withCount) туда где в данный момент магазины отркыты нормально ли отработает и небудет какой то цикличности еслия внутри визКаунта вызову обратную связь книг с магазинами в замыкании и укажу там в условии что данный магазан открыт. А то выходит какая то рекурсия что ли хз по виду магазин вытягивате книги а те тянут магазины с проверкой внутри скажем так
дык а каким образом withCount тут повлияет?

Shop::with('books')->withCount('books')->where('is_open', 1)->get();

типа такого что то имеется в виду?
источник

SK

Stas K in Laravel для начинающих
нет. в твоем примере вытягиваются открытие магазины с книгами. мне надо вытянуть все магазины но книги через замыкание подтянуть туда где они сейчас открыты.
Shop::with('books')->withCount(['books as book_open_count' => function($query) {

                               $query->shopes => function($q) {

$q->where('is_open',1);
}
                           }])->get();
что то типа того но может в синтаксисе немного непутал по быстрому писал
источник

SK

Stas K in Laravel для начинающих
тоесть список магазао весь но что бы книги подтянулись только туда которые сейчас открыты
источник

SS

Serg Serdyuk in Laravel для начинающих
а. типа чтоб если у магазина is_open=0 то не было релейшена books?🤔
источник

SK

Stas K in Laravel для начинающих
да тип того
источник

SK

Stas K in Laravel для начинающих
ка кто получается что типа рекурсии
источник

SK

Stas K in Laravel для начинающих
магазин юзает связь на книги а те юзаеют снутри себя связь магазинов
источник

SK

Stas K in Laravel для начинающих
как это праивльно записать вообще хз
источник

SS

Serg Serdyuk in Laravel для начинающих
а, тогда тут решение чуть хитрее, через скоупы, что то похожее на SO https://stackoverflow.com/questions/43668153/how-to-setup-conditional-relationship-on-eloquent
источник

Д

Діма in Laravel для начинающих
Подскажите такое
$posts = Post::all() - возвращает коллекцию
у меня прекрасно работает пагинация
{{ $posts->links() }}

Но
$tag = Tag::where('slug', '=', $slug)->firstOrFail();
Тоже возвращает  коллекцию.

При этом пагинация не работает
{{ $tag->posts->links() }}
источник

Д

Діма in Laravel для начинающих
Получаю
Method Illuminate\Database\Eloquent\Collection::links does not exist
источник

Д

Діма in Laravel для начинающих
Решил вопрос.
В контроллере определил переменную
$posts = $tag->posts()->paginate();
источник

AP

Alexander Pavlenko 🌚 in Laravel для начинающих
Діма
Подскажите такое
$posts = Post::all() - возвращает коллекцию
у меня прекрасно работает пагинация
{{ $posts->links() }}

Но
$tag = Tag::where('slug', '=', $slug)->firstOrFail();
Тоже возвращает  коллекцию.

При этом пагинация не работает
{{ $tag->posts->links() }}
Не возвращает он коллекцию
источник

AP

Alexander Pavlenko 🌚 in Laravel для начинающих
Один объект
источник

SK

Stas K in Laravel для начинающих
Скажите а можно как то вытянуть связи в один скажем так массив т.е. у меня есть связь foo.bar один ко многим) мне при вытягивании с bar нужны только айдишники но они вытягиваются как отдельные массивы можно как то при запросе указать что бы все вытянуло в один одномерный массив?
источник