|
|
<?php
namespace App\Model\v3;
use App\Constants\v3\OrderState;use App\Constants\v3\Payment;use App\Constants\v3\Shipping;use App\Model\Model;
class OrderMain extends Model{ protected $table = 'lanzu_order_main';
protected $fillable = [ 'market_id', 'order_num', 'global_order_id', 'user_id', 'pay_type', 'type', 'order_type', 'shipping_type', 'money', 'total_money', 'services_money', 'coupon_money', 'delivery_money', 'state', 'pay_time', 'receive_time', 'delivery_time', 'complete_time', 'cancel_time', 'refund_time', 'tel', 'address', 'area', 'lat', 'lng', 'name', 'print_num', 'plat', 'refuse_refund_note', 'delivery_time_note', 'total_refund_note', 'note' ];
protected $appends = [ 'created_at_text', 'state_text', 'pay_time_text', 'pay_type_text', 'shipping_type_text', ];
public function getCreatedAtTextAttribute() { return date('Y-m-d H:i:s', $this->attributes['created_at']); }
public function getPayTimeTextAttribute() { return date('Y-m-d H:i:s', $this->attributes['pay_time']); }
public function getStateTextAttribute() { return OrderState::getMessage($this->attributes['state']); }
public function getPayTypeTextAttribute() { return Payment::getMessage($this->attributes['pay_type']); }
public function getShippingTypeTextAttribute() { return Shipping::getMessage($this->attributes['shipping_type']); }
public function market() { return $this->belongsTo(Market::class, 'market_id', 'id'); }
public function orders() { return $this->hasMany(Order::class, 'order_main_id', 'id'); }
public function orderGoods() { // firstKey是中间表联当前表的列,secondKey是远程表对应中间表的列,localKey是当前表关联中间表的列,secondLocalKey是中间表关联远程表的列
return $this->hasManyThrough( OrderGoods::class, Order::class, 'order_main_id', 'order_id', 'id', 'id' ); }
public function user() { return $this->belongsTo(User::class, 'user_id', 'id'); }}
|