// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\common\model; use app\common\library\helper; use app\common\model\Provider; use think\facade\Db; /** * 订单商品模型 * Class OrderGoods * @package app\common\model */ class OrderGoodsTaocan extends BaseModel { // 定义表名 protected $name = 'order_goods_taocan'; // 定义主键 protected $pk = 'order_goods_taocan_id'; protected $updateTime = false; /** * 订单商品图片 * @return \think\model\relation\BelongsTo */ public function image() { $model = "app\\common\\model\\UploadFile"; return $this->belongsTo($model, 'image_id', 'file_id') ->bind(['goods_image' => 'preview_url']); } /** * 关联商品表 * @return \think\model\relation\BelongsTo */ public function goods() { return $this->belongsTo('Goods'); } /** * 获取器:规格属性 * @param $value * @return array */ public function getGoodsPropsAttr($value) { return helper::jsonDecode($value); } /** * 设置器:规格属性 * @param $value * @return string */ public function setGoodsPropsAttr($value) { return $value ? helper::jsonEncode($value) : ''; } /** * 发货时间 * @param $value * @return false|string */ public function getDeliveryTimeAttr($value) { return format_time($value); } /** * 收货时间 * @param $value * @return false|string */ public function getReceiptTimeAttr($value) { return format_time($value); } /** * 订单商品详情 * @param $where * @return OrderGoods|null */ public static function detail($where) { return static::get($where, ['image']); } /** * 关联订单主表 * @return \think\model\relation\BelongsTo */ public function orderM() { return $this->belongsTo('Order'); } /** * 关联门店 * @return \think\model\relation\BelongsTo */ public function shop() { return $this->belongsTo('Shops','shop_id','shop_id'); } /** * 关联拆分包裹表 * @return \think\model\relation\hasMany */ public function package() { return $this->hasMany('OrderGoodsPackage'); } }