/** * @return \yii\db\ActiveQuery */ public function getProvider() { return $this->hasOne(ProviderStateCode::className(), ['provider_id' => 'provider_id', 'status_code' => 'provider_state_id']); }
public function getAllProviderOrderStatusName() { return $this->hasMany(\app\modules\autoparts\models\ProviderStateCode::className(), ['provider_id' => 'provider_id']); }
private function getDetailProviderInfo($params, $model) { $orderDetails = Tovar::getProviderOrderState($params, $model->order->store_id); if (!empty($orderDetails)) { foreach ($orderDetails as $detail) { if ($detail['code'] == $model->product_article && $detail['quantity'] == $model->quantity) { $stateCode = ProviderStateCode::findOne(['provider_id' => $model->provider->id, 'status_code' => $detail['status']]); if ($stateCode === null) { $providerStateCode = new ProviderStateCode(); $providerStateCode->provider_id = $model->provider->id; $providerStateCode->status_code = $detail['status']; $providerStateCode->status_name = $detail['status_name']; $providerStateCode->save(); } else { if ($detail['status_name'] != '' && $stateCode->status_name != $detail['status_name']) { $stateCode->status_name = $detail['status_name']; $stateCode->save(); } } return ['status' => $detail['status'], 'status_name' => !empty($detail['status_name']) ? $detail['status_name'] : $stateCode->status_name]; } } } else { return false; } }