Laravel Eloquent 관련 함수 이름
P粉729198207
P粉729198207 2023-07-23 17:45:15
0
1
407
<p>"게시물"과 "카테고리"라는 두 개의 테이블이 있습니다. "게시물"과 "카테고리" 사이의 관계는 다대일입니다. 따라서 "Post" 클래스 모델의 코드는 다음과 같습니다. </p> <pre class="brush:php;toolbar:false;"><?php 네임스페이스 AppModel; IlluminateDatabaseEloquentFactoriesHasFactory를 사용하세요. IlluminateDatabaseEloquentModel을 사용하세요. 클래스 Post 확장 모델 { HasFactory를 사용하세요. 보호된 $guarded = ['id']; 공용 함수 카테고리() { return $this->belongsTo(Category::class); } }</pre> <p>이 코드를 사용하면 애플리케이션이 성공적으로 실행됩니다. </p><p>문제는 카테고리 기능 이름을 "카테고리"로 변경하려고 할 때 다음과 같이 게시물의 카테고리 이름에 액세스하려고 할 때입니다. </p><p> <code>Post::first()->categories->name</code>, laravel에서는 다음과 같은 오류가 발생합니다. <code>D:BelajarProgramCODINGANLaraveapplicationcoba-laraveleval()의 null에서 "name" 속성을 읽으려고 시도합니다() 코드입니다.</code></p> <p>(수정됨</p> <p>Eloquent 함수 이름이 "category"인 경우 "Post::first()->category"는 게시물의 카테고리를 반환합니다. 그러나 함수 이름을 "categories"로 변경하고 "Post::first()->categories"를 사용하여 함수에 액세스하려고 하면 null이 반환됩니다. </p> <p>)</p> <p>카테고리 클래스 모델의 Eloquent 관련 함수 이름을 임의의 이름으로 변경하려고 시도했지만 여전히 액세스할 수 있으며 Laravel은 오류를 보고하지 않습니다. 카테고리 클래스 모델의 코드는 다음과 같습니다. </p> <pre class="brush:php;toolbar:false;"><?php 네임스페이스 AppModel; IlluminateDatabaseEloquentFactoriesHasFactory를 사용하세요. IlluminateDatabaseEloquentModel을 사용하세요. 클래스 카테고리 확장 모델 { HasFactory를 사용하세요. 보호된 $guarded = ['id']; 공개 함수 게시물(){ return $this->hasMany(Post::class); } }</pre> <p>누구든지 저를 도와주실 수 있나요? 카테고리 클래스 모델에서는 Eloquent 함수 이름을 변경할 수 있지만 게시물 클래스 모델에서는 변경할 수 없는 이유는 무엇입니까? </p>
P粉729198207
P粉729198207

모든 응답(1)
P粉330232096

다음을 수행하면 문제가 해결됩니다.

으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿