2014-01-22 35 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。我找到了答案!謝謝您的幫助! –

相關問題