How do you do soft deletes?

Technology CommunityCategory: LaravelHow do you do soft deletes?
VietMX Staff asked 3 years ago

Scopes allow you to easily re-use query logic in your models. To define a scope, simply prefix a model method with scope:

class User extends Model {
    public function scopePopular($query)
    {
        return $query->where('votes', '>', 100);
    }

    public function scopeWomen($query)
    {
        return $query->whereGender('W');
    }
}

Usage:

$users = User::popular()->women()->orderBy('created_at')->get();

Sometimes you may wish to define a scope that accepts parameters. Dynamic scopes accept query parameters:

class User extends Model {
    public function scopeOfType($query, $type)
    {
        return $query->whereType($type);
    }
}

Usage:

$users = User::ofType('member')->get();