2014-02-09 34 views
0

它並沒有表現出我使用查看名稱使用findByPk有多個ID,錯誤時的pageSize超過1(警予)

這裏從findByPk名稱的表,我有:

表1(啷)
1.kode_barang(PK)
2.nama_barang

表2(transaksi)
1.kode_transaksi(PK)
2.kode_barang(FK)

,i中的控制器設置爲

  public function actionView($id) 
    { 
      $issueDataProvider=new CActiveDataProvider('detilTransaksi'/*nama file detilTransaksi.php*/, array('criteria'=>array('condition'=>'kode_transaksi=:kodeTransaksi', 
          'params'=>array(':kodeTransaksi'=>$this->loadModel($id)->kode_transaksi), 
        ),'pagination'=>array('pageSize'=>1, 
        ), 
      )); 
      $this->render('view',array(
        'model'=>$this->loadModel($id), 
        'issueDataProvider'=>$issueDataProvider, 
      )); 



    } 

` 然後我的_view.php設置爲這樣:

<b><?php echo CHtml::encode($data->getAttributeLabel('no_transaksi')); ?>:</b> 
<?php echo CHtml::link(CHtml::encode($data->no_transaksi), array('detilTransaksi/view', 'id'=>$data->no_transaksi)); ?> 
<br /> 

<b><?php echo CHtml::encode($data->getAttributeLabel('kode_transaksi')); ?>:</b> 
<?php echo CHtml::encode($data->kode_transaksi); ?> 
<br /> 

<b><?php echo CHtml::encode($data->getAttributeLabel('kode_barang')); ?>:</b> 
<?php //echo CHtml::encode($data->kode_barang); 
$brg = Barang::model()->findByPK($data->kode_barang); 
echo $brg->nama_barang; ?> 
<br /> 

'

,這是' view.php'查看數據

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

<? $this->widget('zii.widgets.CDetailView', array(
    'data'=>$model, 
    'attributes'=>array(
     'kode_transaksi', 
     'kode_konsumen', 
     'kode_areaAsal', 
     'kode_areaTujuan', 
     'kode_areaPosisi', 
     'nomor_kargo', 
     'kode_armada', 
     'tanggal_transaksi', 
     'kode_operator', 
    ), 
)); 


//getting table 'barang' 
    $this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$issueDataProvider, 
    'itemView'=>'/detilTransaksi/_view', 
    )); 

所有作品和展示table1.nama_barang,我可以從findAllByPk(table2.id_barang)獲得,

但是當我超過1設置pageSize的大,它說:「試圖獲得的非財產-object「我曾嘗試使用findAllByPk但它提供了同樣的錯誤,

請幫我拿到findByPk()工作

」對不起,我的英語不好

我正在實施的警予書第六章的例子,「上市問題」, 這裏的截圖, http://1.bp.blogspot.com/--VNO9YLVAms/UvezBvfLAJI/AAAAAAAAA1A/JL2fv31DHN0/s1600/stackoverflow.jpg

我試圖查看比1「噹啷」 perPages

+0

「嘗試獲取非對象的屬性」,此消息還包含非對象的名稱。請張貼該部分,而不是發佈完整的錯誤,所以它可能有助於識別問題 –

+0

我明白了,很快就會發布, –

回答

0

問題更加如果您使用findByPk()如果找到記錄,則返回的結果將是單個模型,但如果您使用findAllByPk()它將返回模型的陣列!

所以你必須在數組上使用循環。

+0

如何循環這個數組? ,請幫忙,我想不出正確的代碼。 –