Краткий ответ: (: id) не поддерживается. Это устарело в пользу использования (: num)
Так что быстрое решение заключается в использовании (: num) вместо (: id)
Это то же самое .
Временное исправление - это изменение файла ядра, если вам действительно это действительно нужно.
Отказ от ответственности: НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ, НЕ изменять базовые файлы. Делайте это на свой страх и риск
В файле /system/Router/RouteCollection.php - LINE 117
Было:
/**
* Defined placeholders that can be used
* within the
*
* @var array
*/
protected $placeholders = [
'any' => '.*',
'segment' => '[^/]+',
'alphanum' => '[a-zA-Z0-9]+',
'num' => '[0-9]+',
'alpha' => '[a-zA-Z]+',
'hash' => '[^/]+',
];
Если вам это действительно нужно, это может быть:
/**
* Defined placeholders that can be used
* within the
*
* @var array
*/
protected $placeholders = [
'any' => '.*',
'segment' => '[^/]+',
'alphanum' => '[a-zA-Z0-9]+',
'num' => '[0-9]+',
'alpha' => '[a-zA-Z]+',
'hash' => '[^/]+',
'id' => '[0-9]+'
];
Изменение заключается в добавлении 'id' запись, которая имитирует 'num' .
Это было бы НАМНОГО БЕЗОПАСНО для простого Изменить все ссылки на (: id) на (: num)