feat(model): menambahkan scope dan menghapus with

This commit is contained in:
Yoga Pangestu 2024-11-28 19:47:54 +07:00
parent 4c847d71ac
commit 95637459ac
3 changed files with 24 additions and 3 deletions

View File

@ -2,11 +2,13 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\MorphOne; use Illuminate\Database\Eloquent\Relations\MorphOne;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Facades\Auth;
class Inventory extends Model class Inventory extends Model
{ {
@ -23,9 +25,10 @@ class Inventory extends Model
'description', 'description',
]; ];
protected $with = [ public function scopeBarbershop(Builder $query): Builder
'attachment', {
]; return $query->where('barbershop_id', Auth::user()->barbershop_id);
}
public function user(): BelongsTo public function user(): BelongsTo
{ {

View File

@ -2,10 +2,13 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Facades\Auth;
class Service extends Model class Service extends Model
{ {
@ -19,6 +22,11 @@ class Service extends Model
'description', 'description',
]; ];
public function scopeBarbershop(Builder $query): Builder
{
return $query->where('barbershop_id', Auth::user()->barbershop_id);
}
public function user(): BelongsTo public function user(): BelongsTo
{ {
return $this->belongsTo(User::class); return $this->belongsTo(User::class);
@ -28,4 +36,9 @@ public function barbershop(): BelongsTo
{ {
return $this->belongsTo(Barbershop::class); return $this->belongsTo(Barbershop::class);
} }
public function transactions(): HasMany
{
return $this->hasMany(Transaction::class);
}
} }

View File

@ -39,6 +39,11 @@ public function scopeBarbershop(Builder $query): Builder
return $query->where('barbershop_id', Auth::user()->barbershop_id); return $query->where('barbershop_id', Auth::user()->barbershop_id);
} }
public function scopeBarber(Builder $query): Builder
{
return $query->where('role_id', 5);
}
public function role(): BelongsTo public function role(): BelongsTo
{ {
return $this->belongsTo(Role::class); return $this->belongsTo(Role::class);