Yii2在gridview中显示序列化数据

时间:2018-11-22 20:52:57

标签: php mysql yii2

我有一些以序列化格式存储的数据。

我可以拉出数据,并以这种方式在已登录用户的视图中显示它:

let row = personTableView.selectedRow
let person = CoreDataHandler.fetchPerson()?[row]

孩子数据存储在这样的订单表中,该表链接到表userchildren。

$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; ?>

我试图在gridview中显示相同的内容,但无法确定我该如何实现:

例如,如果我正在使用

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";}

我得到的数据与显示的相同。 我也尝试过foreach,但是我得到了无效的参数foreach。

1 个答案:

答案 0 :(得分:0)

不确定我的操作是否正确,但似乎数据正确。

我正在使用的代码如下:

[
'label'=> 'Child',
'value' => function($data){                
$kids=((unserialize($data->order->kids)));    
$children1=ArrayHelper::map(\app\models\UserChildren::find()->where(['id'=>$kids])->all(),'id','child_name');
return implode(', ',$children1);

     }
  ],