Исключение говорит вам, что нет объекта Content
, который соответствует условию.Из документов :
Исключения не найдены
Иногда вы можете вызвать исключение, если модель не найдена.Это особенно полезно в маршрутах или контроллерах.Методы findOrFail
и firstOrFail
будут получать первый результат запроса;однако, если результат не будет найден, будет выдан Illuminate\Database\Eloquent\ModelNotFoundException
.
Проверьте ваше where
условие:
$topbar = Content::where('slug', 'topbar')->firstOrFail();
Убедитесь, что у вас есть запись в вашемcontents
(?) Таблица с slug=topbar
(помните, что она чувствительна к регистру).В одном из ваших комментариев вы сказали, что уверены, поэтому проверьте его в Artisan Console , используя Tinker :
$ php artisan tinker
> Content::where('slug','topbar')->count();
Это должно привести к выводу:
[!] Псевдоним 'Использование' для 'App \ Content' для этого сеанса Tinker.
=> 1 // или, может быть, больше ..
Комуполучите ваши записи, которые вы можете попробовать вместо этого (в своем контроллере):
$topbar = Content::where('slug', 'LIKE', '%topbar%')->firstOrFail();
Кроме того, очень вероятно, что ваше предложение является просто примером вашего текущего кода, но если нет, обязательно передайте фактическоезначение в вашем предложении where:
$topbar = Content::where('slug', 'LIKE', request('slug'))->firstOrFail();