From e965306410539b0652c7c40b8cc031461d8b26bd Mon Sep 17 00:00:00 2001 From: vova Date: Thu, 18 Nov 2021 15:46:11 +0200 Subject: [PATCH] add tiles --- common/models/Tile.php | 23 +++++++++++++++++------ console/migrations/m211118_133135_create_tile_table.php | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 console/migrations/m211118_133135_create_tile_table.php diff --git a/common/models/Tile.php b/common/models/Tile.php index d115ad2..52d2d3a 100644 --- a/common/models/Tile.php +++ b/common/models/Tile.php @@ -3,6 +3,7 @@ namespace common\models; use artbox\core\behaviors\LanguageBehavior; +use artbox\core\models\Image; use yii\db\ActiveRecord; class Tile extends ActiveRecord @@ -35,12 +36,6 @@ class Tile extends ActiveRecord ], [ [ - 'image', - ], - 'string', - ], - [ - [ 'status', ], 'boolean', @@ -48,9 +43,25 @@ class Tile extends ActiveRecord [ [ 'sort', + 'image_id', ], 'integer', ], + [ + ['image_id'], + 'exist', + 'skipOnError' => true, + 'targetClass' => Image::className(), + 'targetAttribute' => ['image_id' => 'id'], + ], ]; } + + /** + * @return \yii\db\ActiveQuery + */ + public function getImage() + { + return $this->hasOne(Image::className(), ['id' => 'image_id']); + } } \ No newline at end of file diff --git a/console/migrations/m211118_133135_create_tile_table.php b/console/migrations/m211118_133135_create_tile_table.php new file mode 100644 index 0000000..f938028 --- /dev/null +++ b/console/migrations/m211118_133135_create_tile_table.php @@ -0,0 +1,42 @@ +createTable('tile', [ + 'id' => $this->primaryKey(), + 'status' => $this->boolean(), + 'sort' => $this->smallInteger(), + 'image_id' => $this->integer(), + ]); + $this->addForeignKey( + 'fk-tile-image_id', + 'tile', + 'image_id', + 'ImageManager', + 'id', + 'CASCADE' + ); + } + + /** + * @inheritdoc + */ + public function down() + { + $this->dropForeignKey( + 'fk-tile-image_id', + 'tile' + ); + $this->dropTable('tile'); + } +} -- libgit2 0.21.4