call_user_func_arra y를 Eloquent 메서드로 사용하는 방법을 검색했습니다. 그러나 그것에 대한 단서를 찾지 못했습니다. Eloquent 쿼리에서 call_user_func_array 메소드를 사용하여 코드를보다 유연하게 만들고 싶습니다.call_user_func_array 함수를 사용하여 Laravel Eloquent findOrFail 메서드를 사용할 수 없습니다.
코드가 작동하지 않습니다 : -
$object = call_user_func_array($this->object_type . '::findOrFail', [$this->object_slug]);
오류 : -
ErrorException (E_UNKNOWN) call_user_func_array는() 매개 변수 1 유효한 콜백 클래스 '우정'하지 될 것으로 예상 녹이다.
하지만이 방법을 call_user_func_array 사용하지하고 있다면, 내 아래의 코드가 잘 실행 -
$object = Friendship::find($this->object_slug);
정적 콜백 방법은 call_user_func_array 기능을 사용할 수 있는지 저를 안내하세요? 그렇지 않다면 다른 대안을 제안하십시오. 해결
문제 : -
call_user_func_array 방법에 대한 use namespaces
을 걱정하지 않는다. 따라서 네임 스페이스의 경우 클래스의 전체 경로를 추가합니다.
업데이트 코드 : - 당신은 정규화 된 클래스 이름을 사용할 필요가 있도록 도움을
call_user_func_array('\SiteApp\Friendship\\' . $this->object_type . '::findOrFail', [$this->object_slug]);
감사합니다 :) 분명히 call_user_func_array()
네임 스페이스로 작업 하시겠습니까? – lukasgeiter
'call_user_func_array'를 사용하는 이유는 무엇입니까? – ollieread
@lukasgeiter 나는 네임 스페이스를 사용하고 있습니다. 또한 저는 이미 현재 수업에서 우정 수업을 추가했습니다. 'Use SiteApp \ Friendship \ Friendship' –