【发布时间】:2016-05-20 11:46:00
【问题描述】:
我正在尝试使用 Laravel 5.1 中的嵌套 url 访问页面,但我已经走到了死胡同。 我想在 url 中间使用参数发出 GET 请求。准确地说,cars/{cars}/edit。 这是我的代码:
在路由文件中
Route::resource('cars', 'carController');
在汽车控制器文件中
class carController extends Controller
{
public function index(){
$cars = Car::all();
return view('carshome', compact('cars'));
}
public function edit($id){
return 'Welcome: '.$id.'page';
}
}
在汽车之家刀片模板文件中
@foreach ($cars as $car)
<tr>
<td>{{ $car->name }}</td>
<td>{{ $car->type }}</td>
<td class="text-center">
<a href = {{url('/cars',[$car->name])}}>
<i class="fi-clipboard-pencil"></i>
</a>
<a href = {{url('/cars',[$car->name])}}>
<i class="fi-x-circle"></i>
</a>
</td>
</tr>
@endforeach
在汽车模型文件中
class Car extends Model
{
protected $fillable = [
'name', 'type'
];
}
辅助函数url 可以将参数作为url 的一部分。我不确定如何创建自定义 url。如何使用刀片访问 url 资源?
【问题讨论】:
-
tbh,使用
Route::resource('cars', 'carController');可以避免使用url(..)。你可以使用route('cars.edit', [$car->name])就这么简单。附言。用documentation on restful resource controller确认。 -
正如@Tezla 所写,但您仍然可以使用
url(),例如url('cars', [$car->id, 'edit'])。 -
哇,谢谢@Tezla,它有效。我不知道在哪里可以将您的评论标记为正确。
-
谢谢你,@lamzozo。你的回答同样正确。
标签: php laravel laravel-5.1 laravel-routing laravel-blade