Anons79 Mini Shell

Directory : /home/aplikasiposinfo/public_html/audigitalstore.fixmate.id/app/Models/
Upload File :
Current File : /home/aplikasiposinfo/public_html/audigitalstore.fixmate.id/app/Models/ReturPenjualan.php

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;

class ReturPenjualan extends Model
{
    use HasFactory;
    protected $fillable = [
        "pengguna_id",
        "no_retur",
        "penjualan_id",
        "no_penjualan",
        "pelanggan_id",
        "keterangan",
        "sale_id",
        "tanggal",
    ];

    public function penjualan()
    {
        return $this->belongsTo(Penjualan::class);
    }

    public function pelanggan()
    {
        return $this->belongsTo(Pelanggan::class);
    }

    public function detail()
    {
        return $this->hasMany(DetailReturPenjualan::class);
    }

    public function sales(): BelongsTo
    {
        return $this->belongsTo(Pengguna::class, 'sale_id', 'id')->withDefault([
            'nama_pengguna'=>'-'
        ]);
    }

    public function tokos()
    {
        return $this->morphToMany(Toko::class, 'tokoable', 'tokoables', 'tokoable_id', 'toko_id')
            ->where('tokoable_type', ReturPenjualan::class);
    }

    public function scopeFilterToko($query, $toko_id = null)
    {
        if ($toko_id == null) {
            return $query->whereHas("tokos", function ($q) {
                $q->whereIn('tokos.id',auth()->user()->role->tokos->pluck('id')->toArray());
            });
        } else {
            return $query->whereHas("tokos", function ($q)use ($toko_id) {
                $q->where('tokos.id',$toko_id);
            });
        }
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]