Я не могу сосредоточиться на чем-то.
У меня есть таблица, которую я отображаю в моем файле tables.blade. php, например:
<table>
<thead>
<tr>
<th scope="col">Country</th>
<th scope="col">Member</th>
</tr>
</thead>
<tbody>
@foreach ($members as $member)
@if ($member->continent == 'Europe')
<tr>
<td>
<a href="{{ route('country', $member->country) }}">{{ $member->country }}</a>
</td>
<td class="align-middle player-code copy-code">
{{ $member->name }}
</td>
</tr>
@endif
@endforeach
</tbody>
</table>
Как вы можете видеть, вы можете нажать на страну, которая покажет вам участников из одной страны в новом представлении (код не показан здесь). Маршрут для этого отдельного сайта страны в сети . php выглядит следующим образом:
Route::get('/{country}', 'PageController@show')->name('country');
Все работало нормально, пока я не понял, что могу поставить что-нибудь как 'country'
и до сих пор будет показан сайт для страны только с пустой таблицей. Так что '/abcde'
даст вам представление только с голым столом.
Итак, я изменил маршрут следующим образом:
Route::get('/{country}', 'PageController@show')->name('country')->where('country', ('United Kingdom|France|Belgium|South Africa);
//the list is much longer
Ок. Итак, теперь я ограничил 'country'
-параметр довольно статичным образом c. И у меня такое чувство, что это не так, как должно быть. Потому что в конце я хотел бы, чтобы URL-адреса выглядели так '/united-kingdom'
, '/france'
, но теперь они выглядят так '/United%20Kingdom'
. Я видел ответы на этот вопрос Laravel чистые ссылки без пробелов или заглавных букв , но для меня они не очень полезны, так как я работаю не с моделями Eloquent, а с Query Builder (таблицы БД, которые я get готовы, я только должен их отобразить).
Итак, мои вопросы:
Как более динамически ограничить параметр маршрута?
Как отобразить данные односторонне (написано так, как будто они тоже в таблице, как это «Великобритания»), но есть маршрут, подобный этому («Великобритания»)?
I Я готов предоставить больше кода или информации, если вам нужно, я просто в замешательстве и мне кажется, что я что-то упускаю (большое).
Спасибо за ваше время и помощь!