laravel relationship scope 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: Eloquent Query Scope on Relationships

Problem :
$activePosts = Post::where('active', true)->get();

Solution: 

class Post extends Model
{
    public function scopeActive($query)
    {
        return $query->where('active', 1);
    }
}

$activePosts = Post::active()->get();
=======================================================

Create Dynamic Scope:

class Post extends Model 
{
    public function scopeActive($query, $value)
    {
        return $query->where('active', $value);
    }
}

// Get active posts
$activePosts = Post::active(true)->get();

// Get not active posts
$notActivePosts = Post::active(false)->get();

===========================================================

Scope with Relation :

$category = Category::find(1);
$activePost = $category->posts()->active(true)->get();

Example 3: laravel scope relationship

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

Example 4: laravel scope relationship

class User extends Model {

    protected function getDateFormat()
    {
        return 'U';
    }

}