Trying to get property 'id' of non-object () 해결 방법
Trying to get property 'id' of non-object (View: /work/resources/views/hello/show.blade.php)
이 오류는
存在しないプロパティを取得しようとする
로 발생합니다.결론에서 말하면,이 오류의 원인은/hello/show에 액세스 할 때,
단지
?id=1
와 같이 파라미터를 준비하고 있지 않았기 때문이었습니다 (웃음)그냥 참고서를 놓쳤습니다.
그러나, 에러에 대해서 조사하고 있으면(자), 아무래도 릴레이션의 끝이 없었을 경우에 null를 돌려주는 함수가 있는 것 같고,
그 함수를 사용하는 것으로 이번의 에러를 해결할 수 있는 것 같기 때문에 시험에 사용해 보았습니다.
optional( )
그 기능이 여기입니다!
이 함수는 헬퍼 함수라고 하며, 전달된 객체에 대해 is_object가 참이면 객체와 속성을 전달하고 null이면 예외를 피할 수 있습니다.
그렇다면 조속히 아래와 같이 테이블 표시의 기술을 수정하여/hello/show에 액세스 해 보겠습니다.
"show.blade.php"
@section('content')
<table>
<tr><th>id: </th><td>{{$item->id}}</td></tr>
<tr><th>name: </th><td>{{$item->name}}</td></tr>
<tr><th>mail: </th><td>{{$item->mail}}</td></tr>
<tr><th>age: </th><td>{{$item->age}}</td></tr>
</table>
</item>
@endsection
↓ //optional関数追加
@section('content')
<table>
<tr><th>id: </th><td>{{optional($item)->id}}</td></tr>
<tr><th>name: </th><td>{{optional($item)->name}}</td></tr>
<tr><th>mail: </th><td>{{optional($item)->mail}}</td></tr>
<tr><th>age: </th><td>{{optional($item)->age}}</td></tr>
</table>
</item>
@endsection
이제 매개 변수를 다시 사용하지 않고/hello/show에 액세스하려고합니다.
그러면 보시다시피 레코드가 없어도 null 상태로 테이블 표시되었습니다.
그럼, 다음은 제대로 파라미터를 준비해
/hello/show?id=2
로 액세스 해 보겠습니다.그러면 id가 2인 레코드가 제대로 표시되었습니다!
참고 사이트는 이쪽
htps : // ぉl-k. 이 m/wp2/bぉg/2018/12/19/포 st-992/
htps // // 고양이. 사쿠라탄. 코 m / ぁらゔぇl-20190909 /
Reference
이 문제에 관하여(Trying to get property 'id' of non-object () 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yyy752/items/12bf810178e36e27cec6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)