У меня есть две таблицы barang
а также request
Я хочу отобразить в моем gridview значение peminjam
колонка в barang
стол где id_barang
(ПК в request
таблица) равно id_barang
(ФК в barang
таблица), и где запись имеет самую последнюю дату (tanggal_request
колонка в request
Таблица).
Я сделал это в Barang.php
модель:
$id_barang = $this->id_barang;
$criteria = new CDbCriteria;
$criteria->select = 'max(tanggal_request)';
$criteria->addColumnCondition(array('id_barang' => $id_barang));
$model = Request::model();
$value = $model->commandBuilder->createFindCommand(
$model->tableName(), $criteria)->queryScalar();
$hasil = $value;
return $hasil;
Это действительно показало мне максимальную дату. Я не знаю, как отобразить peminjam
,
Я попробовал это:
$criteria->select = '*';
...
$hasil = $value->peminjam;
Но он сказал это:
Попытка получить свойство необъекта.
Я также попробовал это:
$criteria->select = '*';
...
$hasil = $value['peminjam'];
Но он сказал это:
Недопустимое смещение строки ‘peminjam’.
Посмотрите, работает ли это:
$id_barang = $this->id_barang;
$criteria = new CDbCriteria();
$criteria->select = 'peminjam';
$criteria->limit = "1";
$criteria->with = array(
'request' => array(
'together'=>true,
'order'=>"tanggal_request DESC",
'condition'=>"request.id = $id_barang")
);
$data = Barang::model()->find($criteria);
echo $data->peminjam;
Ваш код выглядит нормально, единственная проблема в том, что вы пытаетесь получить peminjam
колонка из barang
таблица, и я не вижу, что модель используется для запроса, может быть, поэтому вы не получаете никакого значения для peminjam
,
Других решений пока нет …