这是我的 SiteController
public function actionIndex(){
$data['book']=[
['id'=>1]
['id'=>2]
['id'=>3]
];
return $this->render('index',$data);
}
public function actionView($id){
$data['id']=$id;
return $this->render('view',$data);
}
一个简单的 index.php 文件
<?php foreach ($book as $bok){ $id =$bok['id']?>
<a href="index.php?r=site%2Fview?id=<?=$id?>">Views</a>
<?php } ?>
和 view.php
<?= $id?>
我遇到的问题是,我在视图上找不到错误的404页面?id = 1或任何其他数字。我知道我在正确的地方有view.php文件,如果我尝试去没有id的视图,我会收到错误(页面然后告诉我它缺少必需的参数:id)。我不知道造成问题的原因是什么,也不知道如何解决问题。你能帮忙吗?
答案 0 :(得分:1)
而不是直接格式化网址,您可以使用urlHelper
use yii\helpers\Url;
.....
<?php foreach ($book as $bok){
echo "<a href='" . Url::to(['site/view', 'id' => $bok['id'] ]."'>Views</a>";
}
?>