12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Factories\HasFactory;
- use Illuminate\Database\Eloquent\Model;
- use App\Models\BaseModel;
- class StoreOrder extends BaseModel
- {
- use HasFactory;
- protected $table = 'store_order';
- public function user(){
- return $this->hasOne(User::class, 'id', 'user_id');
- }
- public function client(){
- return $this->hasOne(User::class, 'id', 'user_id');
- }
-
- public function paymentMethod(){
- return $this->hasOne(PaymentMethod::class, 'id', 'payment_method_id');
- }
- public function financialTransactions(){
- return $this->hasMany(FinancialTransaction::class, 'order_id', 'id');
- }
- public function finalFinancialTransaction(){
- return FinancialTransaction::where('order_id', $this->id)->orderBy('created_at', 'DESC')->first();
- }
- public function orderNumber() {
- if ($this->iid) return $this->iid;
- return getFirstSectionUID($this->uid);
- }
- public function total(){
- $detail = json_decode($this->detail_json);
- $selectedOptions = json_decode(@$detail->selected_options);
- if(!$selectedOptions) return 0;
- return floatval($selectedOptions->order_total);
- }
- public function selectedOptions(){
- $detail = json_decode($this->detail_json);
- $selectedOptions = json_decode(@$detail->selected_options);
- return $selectedOptions;
- }
- public function createdByUser(){
- return $this->hasOne(User::class, 'id', 'created_by_user_id');
- }
-
- }
|