<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Order extends BaseModel
{
    protected $table = 'orders';

    protected $fillable = ['id', 'code', 'type', 'user_id', 'total_price', 'estimated_delivery_date',
                           'payment_method', 'payment_status', 'note', 'status',
                           'is_activated', 'is_deleted', 'created_at', 'updated_at'];

    public function payment() {
        return $this->hasMany(Payment::class, 'order_id', 'id');
    }

    public function delivery() {
        return $this->hasMany(DeliveryAddress::class, 'order_id', 'id');
    }

    public function order_detail() {
        return $this->hasMany(OrderDetail::class, 'order_id', 'id')->with('product_detail');
    }

    public function user() {
        return $this->belongsTo(User::class, 'user_id', 'id')->select('id', 'username', 'name', 'first_name', 'last_name', 'email', 'phone_number', 'post_code', 'city', 'address', 'address2');
    }
}
