Example #1
0
 public function linkKeyword($keyword)
 {
     $keywordId = $keyword;
     if (!is_numeric($keyword)) {
         $model = Keyword::findOne(['name' => $keyword]);
         if (!isset($model)) {
             return false;
         }
         $keywordId = $model->id;
     }
     $model = new TopicKeyword(['topic_id' => $this->id, 'keyword_id' => $keywordId]);
     try {
         if ($model->save()) {
             if (php_sapi_name() == "cli") {
                 echo 'New Topic linked to Keyword' . "\n";
             }
         }
     } catch (\Exception $ex) {
     }
     return true;
 }
 public function _syncKeyword($keyword)
 {
     $model = Keyword::findOne(['name' => $keyword]);
     //Create a new model if required
     if (!isset($model)) {
         $this->stdout('creating keyword with name ' . $keyword . "\n");
         $model = new Keyword(['name' => $keyword]);
         if (!$model->save()) {
             VarDumper::dump($model->errors);
         }
         //Sync names if scoop.it name has changed (existing model only)
     }
     return true;
 }
Example #3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getKeyword()
 {
     return $this->hasOne(Keyword::className(), ['id' => 'keyword_id']);
 }
Example #4
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getKeywords()
 {
     return $this->hasMany(Keyword::className(), ['id' => 'keyword_id'])->viaTable('scoopit_source_keyword', ['source_id' => 'id']);
 }
Example #5
0
 private function _getKeywordQuery()
 {
     return Keyword::find()->select(['id' => 'CONCAT("k",id)', 'name']);
 }