255], [['phone'], 'string', 'max' => 32], ]; } /** * @inheritdoc */ public function behaviors() { return [ TimestampBehavior::className(), ]; } public function getCreated(){ if(!empty($this->created_at)){ return date("Y-m-d" , $this->created_at); } else { return ''; } } public function getUpdated(){ if(!empty($this->updated_at)){ return date("Y-m-d" , $this->updated_at); } else { return ''; } } /** * @inheritdoc */ public function attributeLabels() { return [ 'order_id' => Yii::t('app', 'order_id'), 'customer_id' => Yii::t('app', 'customer_id'), 'name' => Yii::t('app', 'name'), 'email' => Yii::t('app', 'email'), 'phone' => Yii::t('app', 'phone'), 'delivery' => Yii::t('app', 'delivery'), 'payment' => Yii::t('app', 'payment'), 'code' => Yii::t('app', 'code'), 'status' => Yii::t('app', 'status'), 'created_at' => Yii::t('app', 'created_at'), 'updated_at' => Yii::t('app', 'updated_at'), ]; } public function beforeSave($insert) { if (parent::beforeSave($insert)) { if($this->isNewRecord){ $customer = Customers::find()->where(['phone'=> $this->phone])->one(); if($customer instanceof Customers){ $this->customer_id = $customer->id; } else { $customer = new Customers(['scenario' => Customers::SCENARIO_ORDER]); $customer->email = $this->email; $customer->phone = $this->phone; $customer->username = $this->name; $customer->save(); $this->customer_id = $customer->id; } } return true; } else { return false; } } /** * @return \yii\db\ActiveQuery */ public function getOrderItems() { return $this->hasMany(OrderItems::className(), ['order_id' => 'order_id']); } }