Edit File: Settlement.php
<?php namespace App\Models; use App\Traits\Uploadable; use Illuminate\Database\Eloquent\Model; class Settlement extends Model { const IMAGEPATH = 'settlements' ; use Uploadable; protected $fillable = [ 'transactionable_id', 'transactionable_type', 'amount' , 'status' , 'image', 'notes' ]; public function transactionable() { //? rel with users, admins, providers, delegates return $this->morphTo(); } public function settlementOrders() { return $this->hasMany(SettlementOrder::class); } public function getImagePathAttribute() { $image = $this->image == null ? 'image.png' : $this->image; return asset('assets/uploads/settlements/' . $image); } public function setImageAttribute($value) { if (is_file($value)) { $this->attributes['image'] = $this->uploadOne($value, 'settlements'); } } public function FinancialInfo() { $data = []; $ids =$this->settlementOrders()->get()->pluck('order_id')->toArray(); $waitings=WaitingSettlementOrder::whereIn('id',$ids)->pluck('order_id')->toArray(); $orders=Order::whereIn('id',$waitings)->get(); $data['total_price']=0; $data['price']=0; $data['app_percentage']=0; $data['added_value']=0; foreach($orders as $order){ $data['total_price']+=$order->total_price; $data['app_percentage']+=$order->app_percentage; $data['added_value']+=$order->added_value; $data['price']+=$order->price - $order->admin_commission; } return $data; } }
Back to File Manager