数据库vod表中有两个字段:
vod_play:
qq$$$iqiyi$$$sohu$$$youku$$$mgtv
vod_url:
1$http://v.qq.com/x/cover/llws99784lrtpz7/g003189nkf3.html 2$http://v.qq.com/x/cover/llws99784lrtpz7/f0031cijuxc.html $$$1$http://www.iqiyi.com/v_19rse7ldt0.html 2$http://www.iqiyi.com/v_19rse7mbz0.html $$$1$http://tv.sohu.com/v/MjAxOTA2MjUvbjYwMDczMDI0MS5zaHRtbA==.html 2$http://tv.sohu.com/v/MjAxOTA2MjUvbjYwMDczMDI0My5zaHRtbA==.html $$$1$http://v.youku.com/v_show/id_XNDI0Mjg3NDcyOA==.html 2$http://v.youku.com/v_show/id_XNDI0Mjg3NDczMg==.html $$$1$http://www.mgtv.com/b/330256/5878154.html 2$http://www.mgtv.com/b/330256/5878408.html
我想在表单中分组显示,qq对应qq的播放地址,iqiyi对应iqiyi的播放地址。。。:

目前实现的方法如下:
1,在model类中新建个方法分割字符串重新组成数组;
public function getPlaylist(){
$datas['vod_play'] = explode('$$$', $this->vod_play);
$datas['url'] = explode('$$$', $this->vod_url);
$playlist=[];
if (is_array($datas)) {
foreach ($datas as $key => $value) {
foreach ($value as $k => $v) {
$playlist[$k][$key] = $datas[$key][$k];
}
}
return $playlist;
}
}二,在控制器中将数组传给视图:
public function actionUpdate($id)
{
$model = $this->findModel($id);
$playlists= $model->getPlaylist();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->vod_id]);
}
return $this->render('update', [
'model' => $model,
'playlists'=>$playlists,
]);
}三,在视图中循环这个数组:
' maxlength="30" aria-invalid="false">
这样视图中不能用activeform去处理了,还写了一堆html和php的混合代码,
求助大神,有没有其他的思路去实现,可以在视图中方便使用activeform去处理?
谢谢!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号