ErrorException (E_ERROR) Попытка получить свойство 'id' не-объекта (Представление: - laravel 5.5 - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь открыть форму редактирования из списка отображаемых данных, но я получил вышеупомянутую ошибку.Вот мой контроллер для отображения страницы:

public function edit($id)
{
    $assets = Asset::all();
    $tenants = Tenant::all();
    $tenantProperty = TenantProperty::find($id);
    return view('agent/edit_tenantProperty', compact('tenantProperty', 'assets', 'tenants'));
}

мой взгляд

<form method="post" action="{{ url('agent/edit_tenantProperty/'. $tenantProperty->id) }}" data-toggle="validator">
                {{ csrf_field() }}
                {{ method_field('PATCH') }}

пока маршрут такой

Route::get('edit_tenantProperty/{id}', [ 'as' => 'agent/edit_tenantProperty', 'uses' => 'TenantPropertyController@edit']);

Пожалуйста, помогите мне, как я могурешить эту проблему.Заранее спасибо

1 Ответ

0 голосов
/ 12 июня 2018

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

public function edit($id)
{
    $assets = Asset::all();
    $tenants = Tenant::all();
    $tenantProperty = TenantProperty::find($id);

    if (empty($tenantProperty)) { 
        // returny tenantProperty not fount response
    }

    return view('agent/edit_tenantProperty', compact('tenantProperty', 'assets', 'tenants'));
}

или проверка $tenantProperty существует в поле зрения

@if ($tenantProperty)
   <form method="post" action="{{ url('agent/edit_tenantProperty/'. $tenantProperty->id) }}" data-toggle="validator">
      {{ csrf_field() }}
      {{ method_field('PATCH') }}
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...