2014-02-10 29 views
0

我想要做的是有關的CLISTfindByPk,從fk.consument_id得到consument_name在表1「類的對象不能轉換成int」警予cdetailview

,這是

表1(MasterTransaction)MasterTransaction和Consument之間關係
1.transaction_id
2.consument_id

表2(Consument)
1.consument_id
2.consument_name

<h1>View MasterTransaction #<?php echo $model->kode_transaksi; ?></h1> 

<?echo $consument_id=intval($model->consument_id);?> 

<? $this->widget('zii.widgets.CDetailView', array(
    'data'=>$model, 
    'attributes'=>array(
     'transaction_id', 
    array('name'=>'consument_id','value'=>intval(Consument::model()>findByPK($consument_id))),  
     ' 
    ), 
)); 

和此警告來到我的瀏覽器:

「類Konsumen的對象無法轉換成int 「

我需要你們的幫助才能得到f rom fk_id。

+0

你應該寫代碼的英文。如果有人不得不去理解你的語言 - 現在就是這種情況 - 你給他們一個比必要更難的時間。 – pduersteler

+0

你正在將對象轉換爲intval(Consument :: model()> findByPK($ consument_id))中的整數)' –

+0

好吧,我在幾分鐘前做了英文:) –

回答

0

所以你正在尋找consument_name?試試這個:

<? $this->widget('zii.widgets.CDetailView', array(
    'data'=>$model, 
    'attributes'=>array(
     'transaction_id', 
    array('name'=>'consument_id','value'=>Consument::model()>findByPK($consument_id)->consument_name),  
    ), 
)); 

但你會在你的MasterTransaction模式聲明「consument」的關係,所以你可以這樣做的更好:

<? $this->widget('zii.widgets.CDetailView', array(
    'data'=>$model, 
    'attributes'=>array(
     'transaction_id', 
    array('name'=>'consument_id','value'=>$model->consument->consument_name),  
    ), 
)); 
+0

是的,我正在尋找這個領域,但不能在MasterTransaction模型上設置關係,因爲我仍然沒有得到它,所以我使用findByPk到目前爲止關係 –

+0

它工作後,我學習一些relation():D –

0

希望你期待從Consument模型的主鍵值。

低於線

Consument::model()>findByPK($consument_id) 

然後換

Consument::model()>findByPK($consument_id)->getPrimaryKey(); 

所以你會得到主鍵字段的值,如果找到記錄。否則將返回0。

+1

您正在通過主鍵搜索記錄,這是'$ consument_id'然後嘗試獲取主鍵?它不是'$ consument_id'本身嗎? – Eternal1

+0

是的。但關鍵記錄可能不存在。 –

+0

是的,它確實顯示了主鍵值,但我仍然希望它能夠顯示錶1中外鍵的consument_name的值:) –