Javascript Yii2-列表视图中URL为s的数组

Javascript Yii2-列表视图中URL为s的数组,javascript,php,yii2,Javascript,Php,Yii2,我有一个数组,Vehicles,“id”和“vehicle”,如以下数据库表: Vehicles 1.Car 2.Truck 3.Bicycle 4.Motorcycle 我制作了一个表格模型,并对其进行了CRUD,我在车辆/索引中得到了生成的代码: <?= ListView::widget([ 'dataProvider' => $dataProvider, 'itemOptions' => ['class' => 'item'], 'ite

我有一个数组,Vehicles,“id”和“vehicle”,如以下数据库表:

Vehicles
1.Car
2.Truck
3.Bicycle
4.Motorcycle
我制作了一个表格模型,并对其进行了CRUD,我在
车辆/索引中得到了生成的代码:

<?= ListView::widget([
    'dataProvider' => $dataProvider,
    'itemOptions'  => ['class' => 'item'],
    'itemView'     => function ($model, $key, $index, $widget) {
        return Html::a(Html::encode($model->vehicle), ['view', 'id' => $model->id]);
    },
]) ?>
我想要的是链接,让我去某个地方,比如:

Car     - vehicles/car,
Truck   - vehicles/truck
...etc
我想我必须对路径进行硬编码。 在上面给出的Html::a函数中,有没有一种方便的方法来实现这一点?
或者我应该使用其他类型的函数吗?

您可以使用urlManager

return Html::a(Html::encode($model->vehicle),
       ['/your-controller/your-action', 'id' => $model->id]);
假设您的控制器是name vehicle,在$model->name中,您有车,或者Trukck

     return Html::a(Html::encode($model->vehicle),
       ['/vehicle/'. $model->name, 'id' => $model->id]);

您可以使用urlManager

return Html::a(Html::encode($model->vehicle),
       ['/your-controller/your-action', 'id' => $model->id]);
假设您的控制器是name vehicle,在$model->name中,您有车,或者Trukck

     return Html::a(Html::encode($model->vehicle),
       ['/vehicle/'. $model->name, 'id' => $model->id]);

将另一列作为“路径”添加到Vehicles表中。在HTML:a标记的“URL”字段中使用此字段。谢谢。我也想到了这个选项……这是个不错的主意。在Vehicles表中再添加一列作为“path”。在HTML:a标记的“URL”字段中使用此字段。谢谢。我也想到了这个选择……这主意不错。谢谢。会给它一个测试!非常感谢。会给它一个测试!