Получение всех записей с условием, чтобы я мог отобразить его в cGridView yii

У меня есть таблица, используемая для нормализации под названием Sharing

содержимое таблицы: share_id, pr_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

Решение

Вы обязательно получите ошибку, потому что findAll() метод возвращает массив объектов.

Так должно быть:

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

Я настоятельно рекомендую вам использовать модельные отношения и dataprovider,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]