Esempio n. 1
0
 public static function increment($browser, $url)
 {
     if (is_a($url, Url::className())) {
         $url = $url->id;
     }
     if (!is_numeric($url)) {
         throw new InvalidParamException('Url must be a number or object of app\\models\\Url with id');
     }
     $browserUrl = BrowserUrl::findOne(['browser' => $browser, 'id_url' => $url]);
     if (empty($browserUrl)) {
         $browserUrl = new BrowserUrl(['browser' => $browser, 'id_url' => $url, 'counter' => 1]);
     } else {
         $browserUrl->counter++;
     }
     $browserUrl->save();
 }
Esempio n. 2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getUrl()
 {
     return $this->hasOne(Url::className(), ['id' => 'url_id']);
 }
Esempio n. 3
0
 public function rules()
 {
     return [[['url'], 'required', 'message' => 'Введите адрес ссылки'], [['url'], 'string', 'max' => 255, 'tooLong' => 'Превышена длина'], [['url'], 'url', 'message' => 'Это не адрес ссылки'], [['short'], 'string', 'max' => 8, 'tooLong' => 'Ссылка должна быть не более 8 символов', 'min' => 3, 'tooShort' => 'Минимум 3 символа'], [['dieable'], 'default', 'value' => 0], [['dieable'], 'number', 'max' => 1], [['short'], 'unique', 'targetClass' => Url::className()]];
 }
Esempio n. 4
0
 public function getUrls()
 {
     return $this->hasMany(Url::className(), ['user_id' => 'id']);
 }