通过路径将变量传递给laravel中的控制器时出错

时间:2015-02-02 15:18:23

标签: php mysql laravel laravel-routing

在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>

在数据库中有一个名为authors的表,其中包含列&#34; id&#34;,&#34; name&#34;,&#34; bio&#34;,&#34; created_at&#34;, &#34;的updated_at&#34 ;. 还要解释我作为&#39; =&gt;&#39;作者&#39;的确切用法。在上面的代码中

2 个答案:

答案 0 :(得分:1)

您的路线使用旧式语法。在4.2中,在URI中使用{}来表示变量。

Route::get('author/{id}', array('as' => 'author', 'uses' => 'AuthorsController@get_view'));

答案 1 :(得分:0)

路线应该是:

Route::get('author/{id}', array('as'=>'author', 'uses'=>'AuthorsController@get_view'));