change homepages to contents, add new methods to deliveries and sale_channels by customer

This commit is contained in:
ludo
2023-12-09 23:55:50 +01:00
parent 2a429e4163
commit 25b78f3380
28 changed files with 185 additions and 153 deletions

View File

@@ -4,12 +4,13 @@ namespace App\Models\Shop;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Staudenmeir\EloquentHasManyDeep\HasRelationships;
use Venturecraft\Revisionable\RevisionableTrait;
use Wildside\Userstamps\Userstamps;
class Delivery extends Model
{
use RevisionableTrait, SoftDeletes, Userstamps;
use HasRelationships, RevisionableTrait, SoftDeletes, Userstamps;
protected $guarded = ['id'];
@@ -34,7 +35,7 @@ class Delivery extends Model
public function customers()
{
return $this->hasMany(Customer::class);
return $this->hasManyThrough(Customer::class, CustomerSaleChannel::class);
}
public function sale_channel()
@@ -67,6 +68,11 @@ class Delivery extends Model
return $query->where($this->table.'.at_house', 1);
}
public function scopeBySaleChannels($query, $ids)
{
return $query->whereIn($this->table.'.sale_channel_id', $ids);
}
public function scopeBySaleChannel($query)
{
return $query->where($this->table.'.sale_channel_id', 1);
@@ -81,4 +87,11 @@ class Delivery extends Model
{
return $query->byPublic(1);
}
public function scopeByCustomer($query, $customerId)
{
return $query->whereHas('customers', function($query) use ($customerId) {
return $query->byId($customerId);
});
}
}