저는 Laracasts : Laravel 5.4를 Scratch 시리즈에서보고 있는데, 쿼리 범위 개념을 접했습니다.Laravel에서 쿼리 범위는 어떻게 작동합니까?
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Task extends Model
{
public function scopeIncomplete($query)
{
return $query->where('completed', 0);
}
}
내 첫 번째 질문 :
왜 같은 방법 :public function scopeIncomplete($query)
이 같은라는 다음 ::
연산자 App\Task::incomplete()
비디오에서
정적이 아닌 메서드를 정적으로 호출하지 않습니까?
내 두 번째 질문 :$query
에서 온 않습니다
? 나는이 이해할 수있는 일부터
는 "기존의"쿼리이지만 다음과 같이 호출됩니다App\Task::incomplete()->where('id', '>', 1)->get();
그래서 나는이 변수가 어디에서 오는 정말 모르겠어요.
어쩌면 나중에 더 깊이 설명 하겠지만이 방법에 대해 머리를 감쌀 수는 없습니다.
감사합니다 이 주제에 올바른 방향으로 그들은 꽤 큰 것처럼 보입니다. 나는 할 일이 많습니다. 아마 시리즈를 계속해야 할거야! –
@TimothyFisher Jeffrey는 이처럼 깊은 다이빙을 만질 수 없습니다. 그러나 수업 내용을 직접 살펴보면 토끼 구멍이 어디에 있는지 알 수 있습니다. Eloquent는 유효한 비평 중 하나 인 오버로드를 많이 사용하지만 오버로드를 사용하면 구문을 매우 표현력 있고 사용하기 쉽습니다. Eloquent가 작업을 수행하는 방법에 대해 이해하는 한 모든 세부 사항을 반드시 이해할 필요는 없습니다. – Devon