我有一些数据以序列化格式存储。
我可以拉取数据,并将其显示在视图中,就像这样供登录用户使用:
$user_id = Yii::$app->user->identity->id;
$kids=unserialize($model->kids);
$children =\app\models\UserChildren::find()->where(['user_id' =>$user_id])->andwhere(['id'=>$kids])->all();
?>
<?php foreach ($children as $child): ?>
<table class="table table-bordered table-hover">
<tr>
<th><?php echo Yii::t('app', 'Kids Name')?> : </th>
<td><?php echo $child->child_name?> </td>
<th><?php echo Yii::t('app', 'Kids Birth Date')?> : </th>
<td><?php echo $child->child_birth_date?> </td>
<th><?php echo Yii::t('app', 'Kids Gender')?> : </th><td><?php echo $child->child_gender?> </td>
</tr>
</table>
<?php endforeach; ?>
kids数据存储在这样的order表中,该表链接到userchildren表。
s:0:"";
a:4:{i:0;s:2:"10";i:1;s:2:"11";i:2;s:2:"25";i:3;s:2:"26";}
a:2:{i:0;s:2:"10";i:1;s:2:"11";}
我尝试在gridview中显示相同的内容,但无法确定如何实现这一点:
例如,如果我使用
[
'label'=> 'Child',
'value' => function($data){
return $data->order->kids;
}
],
我得到的数据和我显示的一样。我也试过foreach,但是我得到了无效的foreach参数。
1条答案
按热度按时间1sbrub3j1#
我不确定我做的是否正确,但它似乎有正确的数据。
我使用的代码如下: