私のアプリケーションには、ルートindex.blade
の/index
というページがあります。そのURLには、?order
や?type
などのget
パラメータがあります。
これらの$_get
パラメーターをルートコントローラーアクションに渡し、DBからクエリを実行して、その結果データをインデックスページに渡します。私は何をすべきか?
get
またはpost
リクエストから送信されたデータにアクセスする場合は
public function store(Request $request)
{
$order = $request->input('order');
$type = $request->input('type');
return view('whatever')->with('order', $order)->with('type', $type);
}
ワイルドカードを使用することもできます。
例のリンク
website.dev/user/potato
ルート
Route::put('user/{name}', 'UserController@show');
コントローラー
public function update( $name)
{
User::where('name', $name)->first();
return view('test')->with('user', $user);
}
Laravel Docs Requests を確認してください。
URLの一部をパラメーターとして渡す必要がある場合(laravel 6.xでテスト済み、おそらくlaravel 5.x)で動作します):
ルート
Route::get('foo/{bar}', 'FooController@getFoo')->where('bar', '(.*)');
コントローラー:
class FooController extends Controller
{
public function getFoo($url){
return $url;
}
}
テスト1:
localhost/api/foo/path1/path2/file.gif
はコントローラーに送信し、以下を返します。
path1/path2/file.gif
テスト2:
localhost/api/foo/path1/path2/path3/file.doc
はコントローラーに送信し、以下を返します。
path1/path2/path3/file.doc
等々...