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/Pelanggan.php

<?php

namespace App\Models;

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

class Pelanggan extends Model
{
    use HasFactory;
    use SoftDeletes;

    protected $fillable = [
        "nama_pelanggan",
        "telp_pelanggan",
        "alamat_pelanggan",
        "kecamatan_pelanggan",
        "pengguna_id"
    ];

     public function scopeRiwayatSum($query){
        return $query->join('riwayat_transaksis','riwayat_transaksis.pelanggan_id','=','pelanggans.id')
        ->select('pelanggans.*')
        ->selectRaw('SUM(riwayat_transaksis.biaya) as total');
    }
    public function penjualan()
    {
        return $this->hasMany(Penjualan::class);
    }
    public function retur_penjualan()
    {
        return $this->hasMany(ReturPenjualan::class);
    }
    public function riwayat()
    {
        return $this->hasMany(RiwayatTransaksi::class);
    }

    public function service()
    {
        return $this->hasMany(Service::class);
    }
    public function scopeCari($query, $name)
    {
        return $query->where("nama_pelanggan", "like", "%" . $name . "%")
            ->orWhere("telp_pelanggan", "like", "%" . $name . "%")
            ->orWhere("alamat_pelanggan", "like", "%" . $name . "%");
    }
    public function scopeKecamatan($query, $kecamatan)
    {
        return $query->where("kecamatan_pelanggan", "like", "%" . $kecamatan . "%");
    }
    public function scopeTanggal($query, $begin, $end)
    {
        return $query->whereBetween("created_at", [$begin->format('Y-m-d H:i:s'), $end->format('Y-m-d H:i:s')]);
    }
    public static function boot()
    {
        parent::boot();
        self::deleting(function ($pelanggan) {
            $pelanggan->penjualan()->each(function ($penjualan) {
                $penjualan->delete();
            });
            $pelanggan->service()->each(function ($service) {
                $service->delete();
            });
            $pelanggan->retur_penjualan()->each(function ($retur_penjualan) {
                $retur_penjualan->delete();
            });
            $pelanggan->riwayat()->each(function ($riwayat) {
                $riwayat->delete();
            });
        });
    }
}

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