File: //home/armgroup/libs/app/Models/Wallet.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Wallet extends Model
{
use HasFactory;
protected $guarded = ['id'];
public const TYPE = [
[
'name' => 'ادمین',
'show-name' => 'ادمین',
'slug' => 'User',
'className' => User::class,
],
[
'name' => 'سفارشات',
'show-name' => 'سفارش',
'slug' => 'Order',
'className' => Order::class,
],
// [
// 'name' => 'پرداخت آنلاین',
// 'show-name' => 'پرداخت آنلاین',
// 'slug' => 'Payment',
// 'className' => Payment::class
// ],
];
public function walletable()
{
return $this->morphTo();
}
public function user()
{
return $this->belongsTo(User::class);
}
public function getWalletType()
{
return collect(self::TYPE)->firstWhere('className', $this->walletable_type);
}
public function payments()
{
return $this->morphMany(Payment::class, 'paymentable');
}
}