Php laravel 4.1中未定义路线[名称]
我的路线和变量有问题。我需要将foreach循环中的变量传递给路由。以下是错误消息“未定义路由[patientName]”。 以下是主页.blade.php: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($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>