문제

나는 공부를 시작 Laravel 및 문제로 실행를 사용하여 모델이다.을 로드하는 방법은?예를 들어에서 동작하게 해 $model = $this->load->model('some_model').에 Laravel 때 나는 그것에서 같은 컨트롤러 Sites::OfUser() 그것은 작동하지만 때 나는 전화 Sites::getId() 는 방법을 정적으로...이 가능한 호출 방법은 없는 정적 또는 나는 필요한 외관을 만들에 대한 각각의 모델?

내 모델은 다음과 같습니다:

namespace Models;

use Eloquent;

class Sites extends Eloquent {

    public function scopeOfUser($query)
    {}

    public function getId($name)
    {}
}
도움이 되었습니까?

해결책

정적 방법--

$type=사이트::scopeOfUser($쿼리);

고 싶으시면 정상적인 codeingiter 다음 사용--

$모델=새로운 사이트();
$type=$모델>scopeOfUser($쿼리);

다른 팁

할 수 있습니다 물론을 정적 모델의 메소드,그리고 몇 가지 정적에서 작업 그것은(get ID 에 대한 이름이나 무엇이든).

즉,아무 문제 없습니다.

그러나 선언해야 합니다 그것은 정체되는 경우에 당신을 사용하고 싶 ::, 당신이 하고 있지 않습니다.

public static /* <-- this */ function getId($name)
{
    // Do work
    // return $result;
}

액세스하려는 경우는 방법으로 ::, 해야 합니다 그것을 만드는 정적 방법을 만들거나 외관.

는 이유 Sites::OfUser() 은"일하는"당신이 있기 때문에 붙는 방법으로 scope.

범위 당신이 쉽게 다시 사용하는 쿼리에서 논리의 모델입니다.하기 범위를 정의,간단하게 접두사의 모델 메서드 scope.

를 사용하려면 외관에 따를 수 있습니다 내 답변 을 만드는 방법에 대한 외관을 하고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top