我有一个包含字段的表
id, vehicle_id, vehicle_rating_type, vehicle_rating, rating_time
我想获得基于vehicle_id
的值,所以我解雇了查询
$id = Yii::$app->getRequest()->getQueryParam('id');
$data = VehicleRating::find()->where(['vehicle_id' => $id]);
现在,当我使用$data
函数在视图文件中打印print_r
数组时,我得到以下结果。
yii\db\ActiveQuery Object (
[sql] =>
[on] =>
[joinWith] =>
[select] =>
[selectOption] =>
[distinct] =>
[from] =>
[groupBy] =>
[join] =>
[having] =>
[union] =>
[params] => Array ( )
[_events:yii\base\Component:private] => Array ( )
[_behaviors:yii\base\Component:private] => Array ( )
[where] => Array (
[vehicle_id] => 1
)
[limit] =>
[offset] =>
[orderBy] =>
[indexBy] =>
[modelClass] => backend\models\VehicleRating
[with] =>
[asArray] =>
[multiple] =>
[primaryModel] =>
[link] =>
[via] =>
[inverseOf] =>
)
如何从此数组中检索值以显示在视图文件中?我想说vehicle_id
和vehicle_rating
。如何打印?
答案 0 :(得分:1)
您应该只是执行查询,例如:
$rating = VehicleRating::find()->where(['vehicle_id' => $id])->one();
echo $rating->vehicle_rating;
或者如果你想要数组而不是对象:
$rating = VehicleRating::find()->where(['vehicle_id' => $id])->asArray()->one();
echo $rating['vehicle_rating'];
了解详情:http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#querying-data
答案 1 :(得分:0)
使用query params。
$vehicleRatingQuery = VehicleRating::find()->where('vehicle_id = :vehicleId', [
':vehicleId' => $id
]);
$vehicleRatingQueryParams = $vehicleRatingQuery->params;
答案 2 :(得分:0)
找到我添加的解决方案 - >在查询结束时使用one()并且它可以正常工作
$data = VehicleRating::find()->where(['vehicle_id' => $id])->one();