2014-01-22 24 views
0

我有这种消息传递功能,每次单击实际消息时,它都会将我发送到索引而不是消息的实际内容。链接始终指向索引而不是内容

这里是我的控制器代码:

public function actionViewsent($id,$edge) 
    { 
     $edge = MessageEdge::model()->findByPk($edge); 
     if($edge) 
     { 
      $main_msg = Messages::model()->findByAttributes(array('id'=>$id)); 

      $main_message = Messages::model()->getFullMessage($main_msg->id); 

      //echo '<pre>';print_r($edge);print_r($main_msg);print_r($files); 
      $this->render('viewSent', 
         array(
          'main_message'=>$main_message, 
         ) 
        ); 
     } 
     else Yii::app()->request->redirect(Yii::app()->baseUrl); 
    } 

这里是我的模型MessageEdge:

public function attributeLabels() 
{ 
    return array(
     'id' => 'ID', 
     'sender_id' => 'Sender', 
     'sender_name' => 'Sender Name', 
     'receiver_id' => 'Receiver', 
     'receiver_name' => 'Receiver Name', 
     'message_id' => 'Message', 
     'status' => 'Status', 
    ); 
} 
+0

你可以告诉'$ edge'吗? –

回答

0

我刚刚更换了:

if($edge) 

if(!$edge) 

它工作得很好。我讨厌这些错误!

2

看来你的病情,检查$边缘是假的,所以它去else语句。尝试使用一些调试。

$edge = MessageEdge::model()->findByPk($edge); 
CVardumper::dump($edge,9,TRUE); 
Yii::app()->end(); 

在上面的代码中,您可以转储$ edge来检查$ edge的值。所以你可以找出你的病情总是错误的问题。

更多:请检查您$边缘值象下面这样:的

if(!empty($edge) && !is_null($edge)) 

代替

if($edge) 

它可以让你确保$边缘不持有任何价值。

我希望它有帮助。

+0

帮助,但现在我收到一个错误位于YiiBase.php说 include($ className。'。php');错误是指该文件不存在的地方。 您认为哪里可以找到这个地方的好地方? –

+0

Nvm。我找到了答案!谢谢您的帮助! –

相关问题