Beispiel #1
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getScoops()
 {
     $_q = $this->hasMany(Scoop::className(), ['id' => 'source_id'])->via('sourceTopics');
     if (isset($this->limit)) {
         $_q->limit($this->limit);
     }
     return $_q;
 }
 protected function buildSearchQuery()
 {
     //Join with source keywords and scoop tags
     $this->query = Scoop::find()->groupBy('scoopit_scoop.id')->joinWith('tags')->joinWith('source')->joinWith('source.keywords');
 }
Beispiel #3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getScoop()
 {
     return $this->hasOne(Scoop::className(), ['id' => '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);
         }
     }
 }