如果ID与另一个表显示消息中的密钥ID匹配

时间:2016-01-18 14:36:16

标签: php yii

我目前正在尝试生成一个表单,允许用户在注册后注册到页面上的事件。

我遇到的问题是,我不确定如何防止它在注册时显示相同的消息

到目前为止我的镜头包括查看活动与会者,在eventattendee表中抓取用户和事件ID,然后将它们与事件表中的事件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的活动表。

1 个答案:

答案 0 :(得分:0)

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

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

查询应该是:

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