我在這裏有點笨拙。我設法使用下面的代碼來創建動態網址:Laravel - 使用數據庫字符串創建動態URL
首頁控制器
$satellites = DB::table('satellites')->get();
return view('pages/home', ['satellites' => $satellites]);
刀片文件
@foreach($satellites as $satellite)
<a href="{{$satellite->norad_cat_id}}"><li>{{$satellite->satname}}</li></a>
@endforeach
web.php
Route::get('{norad_cat_id}', '[email protected]');
控制器
public function show($norad_cat_id)
{
return view('pages/satellite');
}
生成的URL是:mysite.com/12345(其中12345是norad_cat_id)。
此代碼管理使用數據庫中的norad_cat_id創建動態URL - 這正是我想要的。問題是我可以用任何東西來替換URL,它仍然會創建一個頁面(即,用非數據庫中的東西代替12345,並且仍然創建一個頁面)。
我想要的僅僅是用norad_cat_id生成一個URL,並且如果數據庫中沒有匹配的norad_cat_id,則顯示一個404頁面。
好,你把任何norad_cat_id呈現網頁。您應該實際從數據庫加載對象並將其傳遞給模板。 laravel還可以檢查ID是否存在。在文檔中查找它。 –