コード例 #1
0
 /**
  * @return ImageStore
  */
 public function getIStore()
 {
     if (!isset($this->_iStore)) {
         foreach (\Yii::$app->components as $k => $v) {
             if ($v['class'] == ImageStore::className()) {
                 $this->_iStore = Yii::$app->{$k};
                 break;
             }
         }
     }
     return $this->_iStore;
 }
コード例 #2
0
 /**
  * Создает внешние ключи и инициализирует хранилище в базе
  */
 public function actionInit()
 {
     Console::output('Create FK');
     $this->getIStore()->initStore();
     Console::output("Add stores\n");
     foreach ($this->getIStore()->models as $model) {
         $trans = \Yii::$app->db->beginTransaction(Transaction::REPEATABLE_READ);
         try {
             foreach ($model['fields'] as $field => $opts) {
                 $store = ImageStore::getStore($model['class'], $field);
             }
             $trans->commit();
             Console::output($this->getClassDoc($model));
         } catch (Exception $e) {
             $trans->rollBack();
             Console::output($e);
         }
     }
     $i = new Image();
     $u = new User();
     Console::output('Image:' . VarDumper::dumpAsString($i->imageFields));
     Console::output('User:' . VarDumper::dumpAsString($u->imageFields));
     Console::output($i->iStore->getEmptyFileName(1));
 }
コード例 #3
0
ファイル: Image.php プロジェクト: dkhru/yii2-image-store
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getImageStores()
 {
     return $this->hasMany(ImageStore::className(), ['image_id' => 'id']);
 }