laravel scope model code example
Example 1: laravel scope relationship
class User extends Model {
public function scopePopular($query)
{
return $query->where('votes', '>', 100);
}
public function scopeWomen($query)
{
return $query->whereGender('W');
}
}
Example 2: model observer laravel
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $table = 'posts';
protected $fillable = ['title', 'slug', 'content'];
protected static function boot()
{
parent::boot();
static::saving(function ($model) {
$model->slug = str_slug($model->title);
});
}
}
Example 3: laravel scope
public function apply(Builder $builder, Model $model)
{
$builder->where('age', '>', 200);
}
Example 4: laravel scope query
$model = App\Models\Flight::where('legs', '>', 100)
->firstOr(['id', 'legs'], function () {
// ...
});
Example 5: laravel scope relationship
$users = User::popular()->women()->orderBy('created_at')->get();
Example 6: laravel model::query
// Eloquent's Model::query() returns the query builder
Model::where()->get();
// Is the same as
Model::query()->where()->get();
Model::query();
// Can be useful to add query conditions based on certain requirements
// See https://stackoverflow.com/questions/51517203/what-is-the-meaning-of-eloquents-modelquery