• File: PaymentGeneration.php
  • Full Path: /var/www/sandbox/app/PaymentGeneration.php
  • Date Modified: 04/15/2024 8:53 PM
  • File size: 1.72 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace App;

use App\Bank\HistoryPayment;
use App\Bank\Profit;
use App\Imali\ImaliAccount;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use DateTimeInterface;

class PaymentGeneration extends Model
{
    use HasFactory;

    protected $fillable = [
        'transaction_id', 'partner_transaction_id', 'amount', 'status', 'duration', 'store_account_number', 'customer_account_number', 'description', 'token', 'token_sent',
        'terminalID', 'terminalChannel', 'terminalCompanyName', 'store_id', 'merchant_id', 'user_client_id', 'user_id', 'imali_account_id'
    ];

    function store()
    {
        return $this->belongsTo(Store::class, 'store_id');
    }

    function customer()
    {
        return $this->belongsTo(User::class, 'user_id');
    }

    function user()
    {
        return $this->belongsTo(User::class);
    }

    function profit()
    {
        return $this->belongsTo(Profit::class);
    }

    function paymentHistoric()
    {
        return $this->hasMany(HistoryPayment::class);
    }

    protected function serializeDate(DateTimeInterface $date)
    {
        return $date->format('d-m-Y H:i:s');
    }

    function transactionHistories()
    {
        return $this->hasMany(TransactionHistory::class);
    }

    function storePayment()
    {
        return $this->belongsTo(Store::class);
    }

//    function store()
//    {
//        return $this->belongsTo(Store::class);
//    }
//
//    function customer()
//    {
//        return $this->belongsTo(User::class, 'sender_id');
//    }

    function account()
    {
        return $this->belongsTo(ImaliAccount::class, 'user_id');
    }
}