【发布时间】:2018-12-27 16:44:37
【问题描述】:
我无法在函数 show() 中访问 $prospectus,但在 laravel 版本 5.6.27 中的函数 store() 中运行良好
public function store(Request $request) {
$course = Course::create([
'name' => $request['name'],
'title' => $request['title'],
'division_id' => $request['division_id'],
]);
$prospectus = Prospectus::create([
'years' => $request['years'],
'name' => $course->name,
'user_id' => null,
'course_id' => $course->id,
]);
return view('courses.show', compact('course', 'prospectus'));
}
public function show(Course $course) {
$prospectus = Prospectus::where('course_id', $course->id)->get();
//return $prospectus;
return view('courses.show', compact('course', 'prospectus'));
}
当我使用return $prospectus;而不是return view('courses.show', compact('course', 'prospectus'));时,数据被传递
这是我的路线
Route::resource('courses', 'CourseController');
Route::post('courses', 'CourseController@store')->name('courses.store');
Route::get('courses/{course}', 'CourseController@show')->name('courses.show');
【问题讨论】:
-
我认为您的 $prospectus 为空,请尝试在 show 方法中
dd($prospectus);;或return view('courses.show', ['course' => $course, '' => 'prospectus' => $prospectus]); -
您的视图中是否出现错误?究竟是什么问题?
-
$prospectus 不为空,数据返回
return $prospectus -
我收到一个错误
Property [years] does not exist on this collection instance和{{ $prospectus->years }} -
但是当我调用
{{ $prospectus }}时数据被传递了
标签: php html laravel routes views