将变量传递给Blade中的嵌套资源

问题描述 投票:0回答:1

我有以下嵌套资源定义:

路线/ web.php

Route::resource('employees', 'EmployeeController');
Route::resource('employees.external_training_records', 'ExternalTrainingRecordController');

ExternalTrainingRecordController

public function create()
{
    return view('employees.external_training_records.create');
}

意见/员工/ show.blade.php

<a href="{{ route('employees.external_training_records.create', $employee) }}">Create External Training Record</a>

意见/员工/ external_training_records / create.blade.php

<div class="card-header">{{ $employee->name }}</div>

Laravel不喜欢在views/employees/external_training_records/create.blade.php中它在$employee上调用一个未定义的变量

如何将$employee传递给嵌套资源的创建页面?

php laravel laravel-blade
1个回答
0
投票

它可以解决你的问题。为路由功能添加变量名称。

route('employees.external_training_records.create', ['employee' => $employee]);

ExternalTrainingRecordController

和这里一样

public function create(Employee $employee) // add parameter with type hint
{
    return view('employees.external_training_records.create', ['employee' => $employee]); // add parameter in array
}
© www.soinside.com 2019 - 2024. All rights reserved.