|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/lecturebazaar.com/app/Models/ |
Upload File : |
<?php
namespace App\Models;
use App\Models\Observers\OrderItemNumberObserver;
use Illuminate\Database\Eloquent\Model;
class OrderItem extends Model
{
public $timestamps = false;
protected $guarded = ['id'];
protected static function boot()
{
parent::boot();
OrderItem::observe(OrderItemNumberObserver::class);
}
public function user()
{
return $this->belongsTo('App\User', 'user_id', 'id');
}
public function order()
{
return $this->belongsTo('App\Models\Order', 'order_id', 'id');
}
public function webinar()
{
return $this->belongsTo('App\Models\Webinar', 'webinar_id', 'id');
}
public function bundle()
{
return $this->belongsTo('App\Models\Bundle', 'bundle_id', 'id');
}
public function subscribe()
{
return $this->belongsTo('App\Models\Subscribe', 'subscribe_id', 'id');
}
public function promotion()
{
return $this->belongsTo('App\Models\Promotion', 'promotion_id', 'id');
}
public function reserveMeeting()
{
return $this->belongsTo('App\Models\ReserveMeeting', 'reserve_meeting_id', 'id');
}
public function registrationPackage()
{
return $this->belongsTo('App\Models\RegistrationPackage', 'registration_package_id', 'id');
}
public function product()
{
return $this->belongsTo('App\Models\Product', 'product_id', 'id');
}
public function productOrder()
{
return $this->belongsTo('App\Models\ProductOrder', 'product_order_id', 'id');
}
public function installmentPayment()
{
return $this->belongsTo(InstallmentOrderPayment::class, 'installment_payment_id', 'id');
}
public function ticket()
{
return $this->belongsTo('App\Models\Ticket', 'ticket_id', 'id');
}
public function gift()
{
return $this->belongsTo(Gift::class, 'gift_id', 'id');
}
public static function getSeller($orderItem)
{
$seller = null;
if (!empty($orderItem->webinar_id) and empty($orderItem->promotion_id)) {
$seller = $orderItem->webinar->creator_id;
} elseif (!empty($orderItem->reserve_meeting_id)) {
$seller = $orderItem->reserveMeeting->meeting->creator_id;
} elseif (!empty($orderItem->product_id)) {
$seller = $orderItem->product->creator_id;
} elseif (!empty($orderItem->bundle_id)) {
$seller = $orderItem->bundle->creator_id;
}
return $seller;
}
}