100], [['importer_name', 'delivery'], 'string', 'max' => 254], [['description'], 'string', 'max' => 255], [['article'], 'string', 'max' => 150], [['image'], 'string', 'max' => 229] ]; } /** * @return float - price in custom margin_id and currency */ public function getOutputPrice() { $price_margin_id = Yii::$app->session->getFlash('price_margin_id',1); $price_currency_id = Yii::$app->session->getFlash('price_currency_id',1); $koef = Margins::getDb()->cache( function ($db) use ($price_margin_id) { return (float) Margins::findOne($price_margin_id)->koef; }); $rate = Currency::getDb()->cache( function ($db) use ($price_currency_id) { return (float) Currency::findOne($price_currency_id)->rate; }); if(!$rate) $rate = 1; // если 0, то 1 return round(( $this->price / $rate) * $koef, 2); } /** * @return float - price in custom margin_id and in USD */ public function getOutputPriceUSD() { $price_margin_id = Yii::$app->session->getFlash('price_margin_id',1); $koef = Margins::getDb()->cache( function ($db) use ($price_margin_id) { return (float) Margins::findOne($price_margin_id)->koef; }); $rate = Currency::getDb()->cache( function ($db) { return (float) Currency::findOne(2)->rate; }); if(!$rate) $rate = 1; // если 0, то 1 return round( ($this->price / $rate) * $koef, 2); } /** * @return float - price in custom margin_id in EUR */ public function getOutputPriceEUR() { $price_margin_id = Yii::$app->session->getFlash('price_margin_id',1); $koef = Margins::getDb()->cache( function ($db) use ($price_margin_id) { return (float) Margins::findOne($price_margin_id)->koef; }); $rate = Currency::getDb()->cache( function ($db) { return (float) Currency::findOne(3)->rate; }); if(!$rate) $rate = 1; // если 0, то 1 return round( ($this->price/$rate) * $koef, 2); } /** * @return float - price in custom margin_id and in UAH */ public function getOutputPriceUAH() { $price_margin_id = Yii::$app->session->getFlash('price_margin_id',1); $koef = Margins::getDb()->cache( function ($db) use ($price_margin_id) { return (float) Margins::findOne($price_margin_id)->koef; }); return round($this->price * $koef, 2); } public static function primaryKey() { return ['name','brand', 'importer_id']; } public function attributeLabels() { return [ 'name' => 'Name', 'brand' => 'Brand', 'box' => 'Box', 'add_box' => 'Add Box', 'importer_id' => 'Importer ID', 'importer_name' => 'Importer Name', 'rate' => 'Rate', 'currency_id' => 'Currency ID', 'delivery' => 'Delivery', 'description' => 'Description', 'article' => 'Article', 'ID' => 'ID', 'image' => 'Image', 'tecdoc_id' => 'Tecdoc ID', 'price' => 'Price', 'brand_id' => 'Brand ID', ]; } }