“类的对象无法转换为int”yii cdetailview

时间:2014-02-10 07:51:55

标签: php yii

我想要做的是关联 clist findByPk ,从表1上的fk.consument_id获取consument_name

这是MasterTransaction和Consument之间的关系

  

表1(MasterTransaction)
  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”

我需要你们的帮助,从fk_id获取名字。

2 个答案:

答案 0 :(得分:0)

希望您期待来自Consument模型的主键值。

然后更改下面的行

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

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

因此,如果找到记录,您将获得主键字段值。否则将返回0。

答案 1 :(得分: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模型中宣布一个“消费”关系,这样你就可以做到这一点:

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