해결 – 객체가 아닌 속성을 얻으려고 시도 – Laravel

Solved Trying Get Property Non Object Laravel



문제

내 기사에서 사용자의 이름을 반향하려고 하는데 |_+_|가 표시됩니다. 내 코드:

모델

1. 뉴스







수업소식연장하다모델
{
공공의 기능게시한 사람()
{
반품 $이->속하다('앱사용자');
}
보호 $테이블 = '소식';
보호 $채울 수 있는 = ['뉴스컨텐츠', '뉴스제목', '게시자'];
}

2. 사용자



수업사용자연장하다모델도구인증 가능한 계약,
승인 가능한 계약,
CanResetPasswordContract
{
사용하다인증 가능,승인 가능,비밀번호 재설정 가능;

보호 $테이블 = '사용자';

보호 $채울 수 있는 = ['이름', '이메일', '비밀번호'];

보호 $숨김 = ['비밀번호', '기억_토큰'];

}

제어 장치

공공의 기능showArticle($슬러그)
{
$article =소식::어디('강타', $슬러그)->첫 번째 또는 실패();
반품보다('기사', 콤팩트 ('기사'));
}

{{ $article->게시한 사람->이름 }}

블레이드에서 이름을 제거하려고 할 때 |_+_| |_+_|를 출력하지만 ->name을 추가하려고 하면 |_+_|라고 표시됩니다. 하지만 내 테이블에 필드 이름이 있고 |_+_| 모델. 내가 뭔가를 놓치고 있습니까?



해결책

쿼리가 배열 또는 객체를 반환합니까? 그것을 버리면 그것이 배열이고 필요한 것은 객체 접근(->) 대신 배열 접근([])이라는 것을 알게 될 것입니다.





다른 의사의 소견

$article->포스터->이름

에게

$article->포스터['이름']

다음은 내 extendsTo에 두 번째 매개변수를 추가하는 것입니다.



반품 $이->속하다('앱사용자');

에게

반품 $이->속하다('앱사용자', '사용자 아이디');

어느 |_+_| 뉴스 테이블에 있는 내 외래 키입니다.