/** * @return \yii\db\ActiveQuery */ public function getVariant() { return $this->hasOne(Variant::className(), ['product_id' => 'variant_id']); }
/** * @return \yii\db\ActiveQuery */ public function getVariants() { return $this->hasMany(Variant::className(), ['logistic_strategy_id' => 'id']); }
/** * @inheritdoc */ protected function getAdvancedDropDownList($id, $search) { switch ($id) { case 'product_i18n.name': return Html::findAdvancedDropDownListData('kalibao\\common\\models\\product\\ProductI18n', ['product_id', 'name'], [['LIKE', 'name', $search], ['i18n_id' => Yii::$app->language]], 10); break; case 'brand.name': return Html::findAdvancedDropDownListData('kalibao\\common\\models\\brand\\Brand', ['id', 'name'], [['LIKE', 'name', $search]], 10); break; case 'supplier.name': return Html::findAdvancedDropDownListData('kalibao\\common\\models\\supplier\\Supplier', ['id', 'name'], [['LIKE', 'name', $search]], 10); break; case 'variantList': $data = (new ActiveQuery(Variant::className()))->joinWith('productI18ns')->where(['LIKE', 'name', $search])->andWhere(['i18n_id' => Yii::$app->language])->limit(25)->all(); $id = ''; $value = ''; $models = []; foreach ($data as $variant) { $value = $variant->productI18n->name . ' • '; foreach ($variant->variantAttributes as $varAtt) { $attribute = $varAtt->attributeI18n ? $varAtt->attributeI18n->value : $varAtt->attributeI18ns[0]->value; $value .= '<span class=badge>' . $attribute . '</span> '; } $models[] = ['id' => $variant->id, 'value' => $value]; } return Html::activeAdvancedDropDownListData($models, 'id', 'value'); break; default: return []; break; } }
/** * @return \yii\db\ActiveQuery */ public function getVariantId2() { return $this->hasOne(Variant::className(), ['id' => 'variant_id_2']); }
/** * @return \yii\db\ActiveQuery */ public function getVariants() { return $this->hasMany(Variant::className(), ['discount_id' => 'id']); }
/** * @return \yii\db\ActiveQuery */ public function getBundleVariant() { return $this->hasOne(Variant::className(), ['id' => 'bundle_variant']); }