<?php
/**
 * Created by PhpStorm.
 * User: sunil
 * Date: 9/4/18
 * Time: 6:22 PM
 */

namespace App;


use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class MerchantOffers extends Model
{

    use SoftDeletes;

    protected $table = 'merchant_offers';

    protected $fillable = ['merchant_id', 'category_id', 'slug', 'interest_type_id', 'processing_fee', 'tenure', 'advance_emi', 'interest_rate', 'subvention', 'advance_type', 'processing_fee_type','is_deleted','subvention_type_id','created_by','checked_by','status','monthly_irr','annualised_irr','payment_frequency','disbursement_method','processing_fee_first_emi','reason', 'bnpl_repayment', 'disbursement_at'];

    public function merchant()
    {
        return $this->hasOne('App\Merchant','id','merchant_id');
    }

    public function disbursementOffer(){
        return $this->hasMany('App\DisbursementOffers','offer_id','id');
    }

    public function disbursementOffersData(){
        return $this->hasMany('App\DisbursementOffersData','offer_id','id');
    }

    public function offerLog(){
        return $this->hasMany('App\MerchantOffersLock','offer_id','id')->orderBy('created_at','desc')->select(['id','offer_id','created_at','archived_by']);
    }


    public function tableOfOffers(){
        return $this->hasMany('App\DecisionTable','application_id','id')->orderBy('created_at','desc');
    }

    public function scopeExclude($query, $value = [])
    {
        return $query->select(array_diff(['created_at', 'updated_at'], (array) $value));
    }
}
