Последовательность отношений в view

93
04 июля 2021, 12:50

Создаю форум на laravel, использую стандартный набор (Eloquent, Blade) Задача такова: Есть разделы, у разделов категории, у категорий темы, у тем сообщения. На странице с списком категорий, выводится коли-во тем и сообщений в каждой категории. С темами всё работает

{{ $category->themes->count() }}

А вот с сообщениями выводит ошибку

{{ $category->themes->messages->count() }}

При этом, если перебирать циклом

@foreach ($category->themes as $theme)
    {{ $theme->messages }}
@endforeach

То сообщения выводятся (как и работает count). Но хотелось бы реализовать без циклов, возможно ли это и, если да, то как?

Answer 1

Может, все дело в том, что объект в поле themes не имеет поля messages? Насколько я понял из приведенного кода, themes - это коллекция, элементами которой являеются messages (которые в свою очередь являются коллекциями). Т.е. если сравнивать с массивами, то это эквивалентно двумерному массиву.

Предлагаю Вам рассмотреть возможность подготовить эти данные в контроллере и передать в view уже готовыми. В котроллере все же проще будет и dd() пользоваться для проверки данных в непонятных случаях.

READ ALSO
вызов и вывод метода с свойством echo в ООП

вызов и вывод метода с свойством echo в ООП

Есть такая конструкция кода

112
не отправляется форма через ajax

не отправляется форма через ajax

При клике на кнопку,всплывает модалька бутстрапа с формой, после отправки формы появляется модалька "Спасибо, бла бла"без ajax форма работает,...

99
Не записывает данные в БД

Не записывает данные в БД

Собственно, пришёл с таким вопросом, почему не проходят данные в БД? Как ни пробовал, убирал одинарные кавычки, обычные, ставил даже там где...

89
RedbeanPHP, sql

RedbeanPHP, sql

Подскажите пожалуйста, как правильно найти и вывести данные из бд, чтобы сообщения выводились построчно и последовательно, только мне и только...

90