Ваш идентификатор в $_GET
.Второй аргумент метода Html::a()
предназначен для генерации URL, он не определяет данные для запроса POST.Итак, вы отправляете пустой (без данных) POST-запрос на /my-controller/c-update?id=123
URL.
Вы можете легко получить этот идентификатор в своем действии:
public function actionCUpdate($id) {
// ...
}
Если вы действительно хотите отправить ID в качестве данных POST, вам нужно сделать что-то вроде:
Html::a('<span class="glyphicon glyphicon-edit"></span>', ['c-update'], [
'data' => [
'method' => 'post',
'params' => [
'id' => $model->id,
],
],
]);
Но вы, вероятно, не должны этого делать.Потерять контекст легко, если вы отправляете идентификатор измененной записи в виде данных POST (поскольку для каждой записи URL будет одинаковым).Использование параметров GET для идентификации запрашиваемых ресурсов прекрасно.