获取具有条件的所有记录,以便我可以在cGridView中显示yii

时间:2015-09-21 16:07:04

标签: php mysql yii findall

我有一个用于标准化的表,叫做Sharing

该表的内容是share_id,pr_id(患者记录ID)和doctor_id

我想在医生的帮助下获得pr_id

所以我使用了这段代码......

$shareModel=Sharing::model()->findByAttributes(array('doctor_id'=>$doctor));
$share= $shareModel->pr_id;

然后我改变了我的模型:

$criteria->compare('pr_id',$this->pr_id);

进入这个:

$criteria->compare('pr_id',$share);

它完美无缺!但是,当我决定在一位医生下添加更多患者记录时...它仍然只显示一条记录,所以我不得不将代码更改为此

        $shareModel=Sharing::model()->findAll(
                        array(
                                    'condition'=>'doctor_id=:doctor_id', 
                                    'params' => array(':doctor_id' => $doctor)
                                 )
                        );

每当我尝试使用print_r($ shareModel)测试它时,我会得到我想要的内容但是当我添加这行时

$share= $shareModel->pr_id;

我得到了一个"试图获得非对象的属性"错误。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您肯定会收到错误,因为findAll()方法会返回对象数组。

应该是:

$share = $shareModel[0]->pr_id;

我强烈建议您使用模型关系和dataprovider