true, 'targetClass' => Product::className(), 'targetAttribute' => ['product_id' => 'product_id']], [['product_variant_id'], 'exist', 'skipOnError' => true, 'targetClass' => ProductVariant::className(), 'targetAttribute' => ['product_variant_id' => 'product_variant_id']], [['stock_id'], 'exist', 'skipOnError' => true, 'targetClass' => Stock::className(), 'targetAttribute' => ['stock_id' => 'stock_id']], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'product_id' => 'Product ID', 'stock_id' => 'Stock ID', 'quantity' => 'Количество', 'product_variant_id' => 'Product Variant ID', 'name' => "Название" ]; } /** * @return \yii\db\ActiveQuery */ public function getProduct() { return $this->hasOne(Product::className(), ['product_id' => 'product_id']); } /** * @return \yii\db\ActiveQuery */ public function getProductVariant() { return $this->hasOne(ProductVariant::className(), ['product_variant_id' => 'product_variant_id']); } public function getName(){ return (!empty($this->stock))? $this->stock->name : ''; } public function setName($value){ $this->name = $value; } /** * @return \yii\db\ActiveQuery */ public function getStock() { return $this->hasOne(Stock::className(), ['stock_id' => 'stock_id']); } public static function primaryKey() { return ["stock_id","product_variant_id"]; } }