refactor scopes

This commit is contained in:
ludo
2025-01-03 14:09:22 +01:00
parent befaa40b48
commit df78126b12
4 changed files with 66 additions and 92 deletions

View File

@@ -127,23 +127,25 @@ class Article extends Model implements HasMedia
public function scopeByCategories($query, $categoriesId)
{
return $categoriesId ? $query->whereHas('categories', function ($query) use ($categoriesId) {
$query->whereIn('id', $categoriesId);
$query->whereIn('id', $categoriesId)->whereNull('deleted_at');
}) : $query;
}
public function scopeByCategoryParent($query, $categoryId)
{
$category = Category::find($categoryId);
$left = $category->_lft ?? 0;
$right = $category->_rgt ?? 0;
return $categoryId ? $query->whereHas('categories', function ($query) use ($category) {
$query->where('_lft', '>=', $category->_lft)->where('_rgt', '<=', $category->_rgt);
return $categoryId ? $query->whereHas('categories', function ($query) use ($left, $right) {
$query->where('_lft', '>=', $left)->where('_rgt', '<=', $right)->whereNull('deleted_at');
}) : $query;
}
public function scopeByCategory($query, $categoryId)
{
return $categoryId ? $query->whereHas('categories', function ($query) use ($categoryId) {
$query->where('id', $categoryId);
$query->where('id', $categoryId)->whereNull('deleted_at');
}) : $query;
}