2016-01-18 30 views
0

我目前正在尝试生成一个表单,允许用户在注册后在页面上注册事件。如果ID与另一个表显示消息中的密钥ID匹配

我遇到的问题是,我不知道如何防止它显示当他们已经注册了相同的消息

我拍到目前为止,包括看活动参加者,抓住了用户和事件ID在eventattendee表,然后从事件表匹配他们对事件ID

事件模型:

public function getRegistrationLink() { 

     $eventAttendees = EventAttendees::model()->findAll('user_id=:user_id', array(':user_id' => $userID)); 
     $eventAttendees->getEventsAttendingfor(); 

     // No Sessions for this event 
     if ($this->getCountSessions() <= 0) { 
      return self::BOOKING_STATUS_NOT_AVAILABLE; 
     } else if ($this->getRemainingCapacity() > 0) { 

      return CHtml::link('<i class="fa fa-caret-right"></i> I\'d like to attend', Yii::app()->createUrl("event/register", array("id" => $this->id))); 

      //LINE I'm HAVING ISSUE WITH 
      if($eventID == $eventTableID) { 

       return CHtml::link('<i class="fa fa-caret-right"></i> You are attending. View booking details ', Yii::app()->createUrl("event/view", array("id" => $this->id))); 

      } 
     } 
     else { 
      return self::BOOKING_STATUS_SOLD_OUT; 
     } 
    } 

我遇到问题该生产线是

if($eventID == $eventTableID) { 

       return CHtml::link('<i class="fa fa-caret-right"></i> You are attending. View booking details ', Yii::app()->createUrl("event/view", array("id" => $this->id))); 

      } 

我不知道,如果匹配的ID是改变这个消息怎么我甚至会去申报同一ID,但来自两个不同的模型/桌的最佳方式或与用户ID立足本

我使用的表格是事件参与者,其中包括事件ID和用户ID以及具有事件ID的事件表。

回答

0

您应该查询事件参与者表并添加一个where语句以仅获取事件ID与要检查的事件匹配的行以及用户ID与登录/注册用户的ID匹配的行。

如果查询返回一行,则注册用户。

查询应该是这样的:

SELECT count(*) FROM event_attendees WHERE 'event_id' = 123 AND 'user_id' = 456;

相关问题