laravel use scope in relationship 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);
}
}
$activePosts = Post::active(true)->get();
$notActivePosts = Post::active(false)->get();
===========================================================
Scope with Relation :
$category = Category::find(1);
$activePost = $category->posts()->active(true)->get();
Example 3: laravel scope
public function apply(Builder $builder, Model $model)
{
$builder->where('age', '>', 200);
}
Example 4: laravel scope relationship
class User extends Model {
protected function getDateFormat()
{
return 'U';
}
}