ErrorException (E_ERROR) Попытка получить свойство 'name' необъекта в laravel 5.5 - PullRequest
0 голосов
/ 03 апреля 2019

Я получаю эту ошибку, когда пытаюсь получить доступ к переменной, которую я передал из контроллера внутри представления. Я создал контроллер с помощью команды:

php artisan make:controller CompaniesController --resource

Итак, у меня есть все ресурсы для использования.

Это маршрут, который я дал

Route::resource('/createcompany','CompaniesController' );

Это функция внутри моего контроллера

public function show($id)
{
  $company = Company::find($id);
  return view('pages.admin.showcompany')->with('company', $company);
}

Компания имеет идентификатор и имя в качестве атрибутов

Это мой взгляд

@extends('layouts.app')

@section('content')

<h1>{{$company->name}} </h1>

@endsection

Я искал похожие вопросы ( это , это и это ), но они не помогли.

Ответы [ 3 ]

2 голосов
/ 03 апреля 2019

Вам необходимо проверить объект Company, например:

public function show($id)
{
    $company = Company::find($id);

    if( is_null($company) ){
         dd( "There's no company with the id=".$id);
    }

    return view('pages.admin.showcompany')->with('company', $company);
}
1 голос
/ 03 апреля 2019

Почему бы не использовать метод findOrFail(), он автоматически отправит вам исключение не найденной модели, если не будет доступна какая-либо модель.

public function show($id)
{
    $company = Company::findOrFail($id);

    return view('pages.admin.showcompany')->with('company', $company);
}
0 голосов
/ 03 апреля 2019

Вы можете использовать следующий код для шоу:


public function show(Company $company)
    {
        return view('pages.admin.showcompany',compact('company'));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...