Có một vấn đề em chưa hiểu rõ trong cách hoạt động của scope trong laravel, mọi người giúp đỡ với ạ. (local scope) khi khai báo method trong model phải có tiền tố scope phía trước, không có scope không gọi được method. Em muốn hỏi cơ chế trong laravel xử lý điều này như thế nào và ở đâu ạ? Em cũng mới lập trình chưa lâu nên nếu câu hỏi chưa rõ ràng, khó hiểu, mọi người thông cảm và góp ý giúp em.
Cảm ơn cả nhà.
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* Scope a query to only include popular users.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param \Illuminate\Database\Eloquent\Builder
*/
public function scopePopular($query)
{
return $query->where('votes', '>', 100);
}
/**
* Scope a query to only include active users.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder