我想将id
中的routes.web.php
传递给控制器。
我在routes/web.php
Route::resources([
'projects/{id}' => 'ProjectsController',
]);
和app/Http/Controllers/ProjectsController.php
:
class ProjectsController extends Controller
{
public function __construct($id=999)
{
dd($id);
}
}
未显示http://localhost:8000/projects/12
中传递但显示999
有人可以帮助我,为什么传递的id没有进入控制器?
提前致谢。
答案 0 :(得分:1)
如果要从控制器构造函数访问请求参数,可以注入Illuminate\Http\Request
,然后访问请求参数。例如:
class ProjectsController extends Controller
{
public function __construct(Illuminate\Http\Request $request)
{
dd($request->id);
}
}
答案 1 :(得分:0)
如果你想将id传递给控制器
Route::get('/path/{id}', array('uses' =>
'YourController@yourFunction'));
然后在控制器
class YourController extends Controller
{
public function yourFunction($id)
{
return $id;
}
}
答案 2 :(得分:0)
如果您希望在路线中传递ID,您可以像这样使用
Route::get('/url_path/{id}', array('uses' =>
'YourController@yourFunction'));
//其中id传递是强制性的
或者
Route::get('/url_path/{id?}', array('uses' =>
'YourController@yourFunction'));
//其中id pass是Optional 然后在控制器
class YourController extends Controller
{
public function yourFunction($id)
{
return $id;
}
}