Intereting Posts
Ошибка при включении redirect_uri с getLoginUrl (PHP PHP SDK) PHP LDAP Получить информацию о пользователе члена, который является членом группы Как принять параметры сортировки и разбивки на страницы во всех URI REST с помощью Slim? Magento: администратор получает электронную почту по новому заказу Как интегрировать vBulletin с моим сайтом? Получение AJAX Div каждые 60 секунд Чтение файла excel xlsx с помощью simplexlsx в php Как я могу получить совпадения при использовании preg_replace в PHP? Magento; частный / общедоступный уровень файловой системы Проверка php, если метод переопределен в дочернем классе Как использовать две кнопки отправки и различать, какой из них использовался для отправки формы? Есть ли простой способ в PHP преобразовать из строк, таких как «256M», «180K», «4G» в их целочисленные эквиваленты? Может кто-нибудь помочь мне отправить почту в PHP? Изучение моделирования данных (как объединить разумную базу данных) можно ли добавить их как общую сумму, используя этот код?

Laravel – свойство не существует в экземпляре коллекции

Я следую видео Laracasts: Базовая модель / Контроллер / Просмотр рабочего процесса .

У меня в таблице есть контактная информация.

CREATE TABLE `about` ( `id` int(10) UNSIGNED NOT NULL, `title` varchar(500) COLLATE utf8_unicode_ci NOT NULL, `content` text COLLATE utf8_unicode_ci, ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci 

Я пытаюсь передать данные для просмотра, используя следующий код в файле контроллера:

 public function index() { $about = Page::where('page', 'about-me')->get(); //id = 3 return view('about', compact('about')); } 

Когда я пытаюсь показать код, как показано ниже,

 @section('title') {{$about->title}} @stop @section('content') {!! $about->content !!} @stop 

Я получаю сообщение об ошибке:

Свойство [title] не существует в этом экземпляре коллекции. (Вид: E: \ laragon \ www \ newsite \ resources \ views \ about.blade.php)

Но если я изменю метод извлечения в файле контроллера, он будет работать.

 public function index() { $about = Page::find(3); return view('about', compact('about')); } 

Когда я использую dd($about) в первом случае ( where()->get() ), данные инкапсулируются массивом. Во втором случае ( find(3) ) он отображает данные, как ожидалось.

Что я делаю не так?

Когда вы используете get() вы получаете коллекцию . В этом случае вам нужно перебрать его, чтобы получить свойства:

 @foreach ($collection as $object) {{ $object->title }} @endforeach 

Или вы можете просто получить один из объектов по его индексу:

 {{ $collection[0]->title }} 

Или получить первый объект из коллекции:

 {{ $collection->first() }} 

Когда вы используете find() или first() вы получаете объект , поэтому вы можете легко получить свойства:

 {{ $object->title }}