Add filters

This commit is contained in:
Ludovic CANDELLIER
2021-11-01 23:42:53 +01:00
parent 459d35e8a1
commit f5716c6530
18 changed files with 148 additions and 35 deletions

View File

@@ -19,4 +19,9 @@ class ArticleNature extends Model
{
return $this->hasMany(Article::class);
}
public function scopeByArticleNature($query, $id)
{
return $query->where($this->table . '.id', $id);
}
}

View File

@@ -8,6 +8,11 @@ class Customer extends Model
{
protected $guarded = ['id'];
protected $table = 'shop_customers';
public function CustomerAddresses()
{
return $this->hasMany(CustomerAddress::class);
}
public function Invoices()
{

View File

@@ -38,13 +38,27 @@ class Offer extends Model
return $query->where('article_id', $id);
}
public function scopeByArticleNature($query, $article_nature_id)
{
return $query->whereHas('article.article_nature', function ($query) use ($article_nature_id) {
$query->byArticleNature($article_nature_id);
});
}
public function scopeByCategory($query, $category_id)
{
return $query->whereHas('article.categories', function ($query) use ($category_id) {
$query->where('category_id', $category_id);
});
}
public function scopeByPackage($query, $package_id)
{
return $query->whereHas('variation', function ($query) use ($package_id) {
$query->byPackage($package_id);
});
}
public function scopeByStatus($query, $id)
{
return $query->where('status_id', $id);

View File

@@ -27,4 +27,9 @@ class Variation extends Model
{
return $this->hasMany(Offer::class);
}
public function scopeByPackage($query, $package_id)
{
return $query->where($this->table . '.package_id', $package_id);
}
}