在 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'));