Как Da sh Symbol (-) будет работать на Laravel Route? - PullRequest
0 голосов
/ 21 июня 2020

Я сделал простой маршрут, как показано ниже

Route::get('{id}-side-hustles', function ($id) {
    echo $id;
});

, поэтому мой код работал правильно для http://127.0.0.1: 8000 / abebooks-side-hustles , но это не сработало правильно для http://127.0.0.1: 8000 / Vacation-home-rentals-side-hustles

для устранения этой проблемы я изменил код следующим образом:

Route::get('{id}side-hustles', function ($id) {
    echo $id;
});

как вы видите, '{id} -side-hustles' не сработало. но '{id} побочные действия' сработали. у рабочего нет символа da sh (-), но у неработающего есть символ da sh (-).

Я не уверен, как da sh символ (-) будет работать.

1 Ответ

0 голосов
/ 21 июня 2020

Вместо использования Route::get('something/{id}-side-hustles', 'controller@action'); почему бы вам не использовать «slug»?

Route::get('something/{slug}', 'controller@action');

А внутри вашего контроллера вы должны обработать logi c для извлечения идентификатора на основе строки .

Например:

public function action(string $slug) : array {
    $id = explode('-', $slug)[0] ?? null;

    // (...) rest of your logic
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...