Anons79 Mini Shell

Directory : /home/aplikasiposinfo/public_html/duriancell.fixmate.id/app/Models/
Upload File :
Current File : /home/aplikasiposinfo/public_html/duriancell.fixmate.id/app/Models/TransaksiGudang.php

<?php

namespace App\Models;

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

class TransaksiGudang extends Model
{
    use HasFactory;

    protected $fillable = [
        "pengguna_id",
        "keterangan",
        "tanggal",
        "toko",
        "arah_transaksi",
        "no_transaksi",
    ];

    public function detail()
    {
        return $this->hasMany(DetailTransaksiGudang::class);
    }
    public function scopeCari($query, $name)
    {
        return $query->where('arah_transaksi', $name);
    }

    public function scopeTanggal($query, $begin, $end)
    {
        return $query->whereBetween("tanggal", [$begin->format('Y-m-d'), $end->format('Y-m-d')]);
    }

    public function tokos()
    {
        return $this->morphToMany(Toko::class, 'tokoable', 'tokoables', 'tokoable_id', 'toko_id')
            ->where('tokoable_type', TransaksiGudang::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]