коде с Yii2:данные из связанной модели в GridView в



У меня есть две модели, а именно MedicineRequestEntry и MedicineRequest. MedicineRequestEntry связан с MedicineRequest через



public function getMedicineRequests()
{
return $this->hasMany(MedicineRequest::className(),
['medicine_request_entry_id' => 'id']);
}


Теперь в сеточном представлении MedicineReuestEntry я пытаюсь извлечь данные из модели MedicineRequest, используя отношение, используя два альтернативных способа



Как



[
'attribute' => 'is_delivered',
'value'=> 'medicineRequests.is_delivered'
],


В этом методе я получаю значение как не заданное.
и еще один метод:



[
'attribute' => 'is_delivered',
'value'=> '$data->medicineRequests->is_delivered'
],


В этом методе я получаю ошибку типа:



Становится неизвестным свойство: appmodelsMedicineRequestEntry::$data - >medicineRequests - >is_delivered



Теперь мне нужна помощь, что я здесь делаю не так.
Спасибо.
663   1  

1 ответ:

Вы должны использовать функцию обратного вызова, см. руководство:

[
    'value' => function ($data) {
        $str = '';
        foreach($data->medicineRequests as $request) {
            $str .= $request->is_delivered.',';
        }
        return $str;
    },
],

Или для первого результата массива:

[
    'value' => function ($data) {
        return $data->medicineRequests[0]->is_delivered;
    },
],

Comments

    Ничего не найдено.