public function testDelete()
 {
     $subscriber = new Subscriber();
     $subscriber->sid = 'sd8uo329psd';
     $this->assertEquals(true, $subscriber->save());
     $subscriber = Subscriber::model()->findByPk($subscriber->id);
     $this->assertInstanceOf('YiiNodeSocket\\Models\\Subscriber', $subscriber);
     $this->assertEquals(true, $subscriber->delete());
     $this->assertNull(Subscriber::model()->findByPk($subscriber->id), 'Subscriber need to be null because it has been deleted');
 }
 /**
  * @return Subscriber|null
  */
 public function getSubscriber()
 {
     if ($this->_subscriber) {
         return $this->_subscriber;
     }
     if ($this->getOwner()->getIsNewRecord()) {
         return null;
     }
     return $this->_subscriber = Subscriber::model()->findByAttributes(array('user_id' => $this->_getUserId()));
 }
 /**
  * @param Channel $channel
  * @param bool    $refresh
  *
  * @return AModel[]
  */
 public function getSubscribers(Channel $channel, $refresh = false)
 {
     if ($channel->getIsNewRecord()) {
         return array();
     }
     if (array_key_exists($channel->id, self::$_channelSubscribers) && !$refresh) {
         return self::$_channelSubscribers[$channel->id];
     }
     $links = SubscriberChannel::model()->findAllByAttributes(array('channel_id' => $channel->id));
     $subscriberId = array();
     foreach ($links as $link) {
         $subscriberId[] = $link->subscriber_id;
     }
     $subscribers = Subscriber::model()->findAllByPk($subscriberId);
     foreach ($subscribers as $subscriber) {
         self::_addToCache($channel, $subscriber);
     }
     return $subscribers;
 }