1

アカウントの種類に応じて、cgridview に表示されるデータがユーザーごとに一意になるようにモデルを変更しました...

ただし、ドロップダウン経由で cgridview からデータを取得できる別のモデルからフォームを作成する必要があります...

私は最初にこのコードを使用しました...

<?php 
$this->widget('ext.select2.ESelect2',array(
  'model'=>$model,
  'attribute'=>'pr_id',
  'data'=>$model->searchPatient(),//function to provide data
  // or
  //'data'=>CHtml::listData(PatientRecord::model()->findAll(), 'id', 'first_name')
);  
?>

しかし、それはPatientRecordモデルのすべてのコンテンツを返します.cgridviewからコンテンツを取得する前に、条件を使用してみました...

$doctor= Yii::app()->user->id;
CHtml::listData(PatientRecord::model()->findAll( array(
                                'condition'=>'doctor_id=:doctor_id', 
                                'params' => array(':doctor_id' => $doctor)
                             )
                    );), 'id', 'first_name')

エラーはありませんでしたが、ドロップダウンにも何も表示されませんでした...

助言がありますか?

4

1 に答える 1

0

問題はモデルコードの a にある;と思います。これを試してください:)

   $doctor= Yii::app()->user->id;
   CHtml::listData(PatientRecord::model()->findAll( array(
                                    'condition'=>'doctor_id=:doctor_id', 
                                    'params' => array(':doctor_id' => $doctor)
                                 )
                        ), 'id', 'first_name');

常にローカル環境でエラー ログを有効にする必要があります。これにより、コード内のエラーを見つけることができます。エラー ログを有効にする方法に関するリンクを次に示します。

それが役立つことを願っています:)

于 2015-10-01T07:35:53.240 に答える