Php can';t从控制器laravel访问视图中的变量

Php can';t从控制器laravel访问视图中的变量,php,html,laravel,routes,views,Php,Html,Laravel,Routes,Views,我无法在函数show()中访问$products,但在laravel版本5.6.27中的函数store()中运行良好 public function store(Request $request) { $course = Course::create([ 'name' => $request['name'], 'title' => $request['title'], 'division_id' => $request[

我无法在函数show()中访问$products,但在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$prospects时,数据被传递但不在
返回视图('courses.show',compact('courses','products'))中

这是我的路线

Route::resource('courses', 'CourseController');
Route::post('courses','CourseController@store')->名称('courses.store')


确认
$prospects
查询未返回
NULL

试试这个:


$prospects=prospects::where('course_id',$course->id)->first()

如果你想要一个
对象,我会给你一个对象列表

使用函数仅从数据库中获取作为单个对象的第一个匹配项

$prospectus = Prospectus::where('course_id', $course->id)->first();

我认为您的$prospects为空,请尝试
dd($prospects)显示方式;或
return视图('courses.show'、['course'=>$course'、=>'prospectures'=>$prospectures])您的视图中是否有错误?到底是什么问题?$products不是空的,返回的数据带有
return$products
我得到一个错误
属性[years]在这个集合实例上不存在
with
{{$products->years}
但是当我调用
{$products}}
时数据被传递了,效果很好!非常感谢。
$prospectus = Prospectus::where('course_id', $course->id)->first();