在 laravel 中通过路由将变量传递给控制器时出错
Getting an error in passing a variable through routes to controller in laravel
在app\routes.php
Route::get('author/(:any)',array('as'=>'author','uses'=>'AuthorsController@get_view'));
在app\controllers\AuthorsController.php
<?php
class AuthorsController extends BaseController {
public $restful=true;
public function get_view($id){
return View::make('authors.view')
->with('title','Author View Page')
->with('author',Author::find($id));
}
}
在views\authors\view.blade.php
<!DOCTYPE html>
<html>
<head> <title> {{ $title }}</title> </head>
<body>
<h1> {{$author->name}}</h1>
<p> {{ $author->bio}} </p>
<p><small>{{$author->updated_at}} <small></p>
</body>
</html>
在数据库中有一个 table 命名的作者包含列 "id"、"name"、"bio"、"created_at"、"updated_at"。
还要解释一下上面代码'as'=>'authors'的确切用法
您的路线使用的是旧式语法。在 4.2 中使用 URI 中的 {}
来表示一个变量。
Route::get('author/{id}', array('as' => 'author', 'uses' => 'AuthorsController@get_view'));
路线应该是:
Route::get('author/{id}', array('as'=>'author', 'uses'=>'AuthorsController@get_view'));
在app\routes.php
Route::get('author/(:any)',array('as'=>'author','uses'=>'AuthorsController@get_view'));
在app\controllers\AuthorsController.php
<?php
class AuthorsController extends BaseController {
public $restful=true;
public function get_view($id){
return View::make('authors.view')
->with('title','Author View Page')
->with('author',Author::find($id));
}
}
在views\authors\view.blade.php
<!DOCTYPE html>
<html>
<head> <title> {{ $title }}</title> </head>
<body>
<h1> {{$author->name}}</h1>
<p> {{ $author->bio}} </p>
<p><small>{{$author->updated_at}} <small></p>
</body>
</html>
在数据库中有一个 table 命名的作者包含列 "id"、"name"、"bio"、"created_at"、"updated_at"。 还要解释一下上面代码'as'=>'authors'的确切用法
您的路线使用的是旧式语法。在 4.2 中使用 URI 中的 {}
来表示一个变量。
Route::get('author/{id}', array('as' => 'author', 'uses' => 'AuthorsController@get_view'));
路线应该是:
Route::get('author/{id}', array('as'=>'author', 'uses'=>'AuthorsController@get_view'));