Php laravel 4.1中未定义路线[名称]

Php laravel 4.1中未定义路线[名称],php,variables,laravel-4,laravel-routing,Php,Variables,Laravel 4,Laravel Routing,我的路线和变量有问题。我需要将foreach循环中的变量传递给路由。以下是错误消息“未定义路由[patientName]”。 以下是主页.blade.php: @foreach($patientsList as $patients) <tr> <td>{{ $patients->name }}</td> <td>{{ $patien

我的路线和变量有问题。我需要将foreach循环中的变量传递给路由。以下是错误消息“未定义路由[patientName]”。 以下是主页.blade.php:

@foreach($patientsList as $patients)
                <tr>
                    <td>{{ $patients->name }}</td>
                    <td>{{ $patients->email }}</td>
                    <td>{{ $patients->address }}</td>
                    <td>{{ $patients->phone_number }}</td>
                    <td>{{ $patients->type }}</td>
                    <td><a href="{{ URL::route('patientName', array('pname' => $patients->name)) }}" class="view-profile">View Profile</a></td>
                </tr>
                @endforeach
控制器

<?php
class PatientsController extends BaseController{
    /*some functions*/
    function getPatientName($patientName){
        return $patientName;
    }
}

解决方案1
URL::route
生成指向命名路由的链接-因此它需要路由的名称作为参数。在代码中,您没有指定路由的名称,因此URL帮助程序无法生成链接并抛出路由未找到错误。检查下面的更正

//routes.php - specify a route's name 
Route::get('patientName/{pname}', array('as'=>'patientName', 'uses'=>'PatientsController@getPatientName'));
现在您可以安全地使用

<a href="{{ URL::route('patientName', array('pname' => $patients->name)) }}" class="view-profile">View Profile</a>


结论 有关基于路由安全生成url的不同方法的详细信息,请参阅文档

另外,请务必查看URL帮助器文档,了解一些有用的内容

<a href="{{ URL::route('patientName', array('pname' => $patients->name)) }}" class="view-profile">View Profile</a>
<a href="{{ URL::to('patientName/'.$patients->name) }}" class="view-profile">View Profile</a>