File manager - Edit - /var/www/payraty/accounting_main/app/Models/Goal.php
Back
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use App\Scopes\OrganisationScope; class Goal extends Model { protected $fillable = [ 'name', 'type', 'from', 'to', 'amount', 'is_display', 'created_by', 'organisation_id', ]; public static $goalType = [ 'Invoice', 'Bill', 'Revenue', 'Payment', ]; protected static function booted() { static::addGlobalScope(new OrganisationScope); // Automatically set the organisation_id before creating the model static::creating(function ($model) { if (auth()->check()) { $model->organisation_id = auth()->user()->organisation_id; } }); } public function target($type, $from, $to, $amount) { $total = 0; $fromDate = $from . '-01'; $toDate = $to . '-01'; if(\App\Models\Goal::$goalType[$type] == 'Invoice') { $invoices = Invoice:: select('*')->where('created_by', \Auth::user()->creatorId())->where('issue_date', '>=', $fromDate)->where('issue_date', '<=', $toDate)->get(); $total = 0; foreach($invoices as $invoice) { $total += $invoice->getTotal(); } } elseif(\App\Models\Goal::$goalType[$type] == 'Bill') { $bills = Bill:: select('*')->where('created_by', \Auth::user()->creatorId())->where('bill_date', '>=', $fromDate)->where('bill_date', '<=', $toDate)->get(); $total = 0; foreach($bills as $bill) { $total += $bill->getTotal(); } } elseif(\App\Models\Goal::$goalType[$type] == 'Revenue') { $revenues = Revenue:: select('*')->where('created_by', \Auth::user()->creatorId())->where('date', '>=', $fromDate)->where('date', '<=', $toDate)->get(); $total = 0; foreach($revenues as $revenue) { $total += $revenue->amount; } } elseif(\App\Models\Goal::$goalType[$type] == 'Payment') { $payments = Payment:: select('*')->where('created_by', \Auth::user()->creatorId())->where('date', '>=', $fromDate)->where('date', '<=', $toDate)->get(); $total = 0; foreach($payments as $payment) { $total += $payment->amount; } } $data['percentage'] = ($total * 100) / $amount; $data['total'] = $total; return $data; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings