/** * @return \yii\db\ActiveQuery */ public function getTags() { return $this->hasMany(Tag::className(), ['id' => 'tag_id'])->viaTable('scoopit_topic_tag', ['topic_id' => 'id']); }
private function _getTagQuery() { return Tag::find()->select(['id' => 'CONCAT("t",id)', 'name']); }
/** * @return \yii\db\ActiveQuery */ public function getTag() { return $this->hasOne(Tag::className(), ['id' => 'tag_id']); }
private function _syncScoopTags($item) { $scoop = Scoop::findOne($item->id); if (isset($scoop)) { $this->_initPostProcessor('afterScoopTag', $scoop, 'tagPostProcessor'); foreach ($item->tags as $tag) { $model = Tag::findOne(['name' => $tag]); if (!isset($model)) { $model = new Tag(['name' => $tag]); $model->save(); } $scoop->linkTag($model->id); } } }