원래 질문에 대한 해결책
비 정적 메서드를 정적으로 호출했습니다. 모델에서 공용 함수를 정적으로 만들려면 다음과 같습니다.
public static function {
}
일반적으로 :
Post::get()
이 특별한 경우 :
Post::take(2)->get()
관계와 범위를 정의 할 때주의해야 할 사항은 '비 정적 메서드를 정적으로 호출하면 안 됨'오류가 발생하는 문제가 있는데, 이름이 같은 경우입니다. 예를 들면 다음과 같습니다.
public function category(){
return $this->belongsTo('App\Category');
}
public function scopeCategory(){
return $query->where('category', 1);
}
다음을 수행 할 때 비 정적 오류가 발생합니다.
Event::category()->get();
문제는 라 라벨이 내 카테고리 범위 (scopeCategory)가 아닌 카테고리라는 내 관계 방법을 사용하고 있다는 것입니다. 이 문제는 범위 또는 관계의 이름을 변경하여 해결할 수 있습니다. 관계 이름을 변경하기로 선택했습니다.
public function cat(){
return $this->belongsTo('App\Category', 'category_id');
}
내가 외래 키 (category_id)를 정의했음을 확인하십시오.
$obj->getAll()
함수를 정적으로 사용 하거나 만듭니다.