Php 拉韦尔弗雷奇不工作

Php 拉韦尔弗雷奇不工作,php,laravel,foreach,Php,Laravel,Foreach,我做的每件事都像以前一样,但由于某种原因,它不起作用。这是我在blade中的代码 <select name="partner_id" id="partner_id" class="form-control"> @foreach($partners as $partner) <option value="{{ $partner->id }}">{{ $partner->na

我做的每件事都像以前一样,但由于某种原因,它不起作用。这是我在blade中的代码

<select name="partner_id" id="partner_id" class="form-control">
                    @foreach($partners as $partner) 
                        <option value="{{ $partner->id }}">{{ $partner->name }}</option> 
                    @endforeach
                </select>
这是我的路线

Route::get('/create-company', function () {
    return view('createcompany');
})->middleware('auth','admin');
我得到了这个错误

Undefined variable: partners (View: .../resources/views/createcompany.blade.php)
编辑

虽然这个答案可以回答OP的第二个bug,但这个答案并没有回答这个问题。返回没有变量的视图是一条糟糕的路线

改变

public function create()
{
    $partners = Partner::all()->get();
    return view('createcompany', compact('partners'));
}

由于
all()
方法已经包含了一个
get()

方法,我刚刚将路由更改为
Route::get('/create company','CompanyController@create');
并删除->获取()


现在它工作了,谢谢。

还是一样。在我删除它并改变路线后,它工作了,谢谢。我正要评论一下哈哈
public function create()
{
    $partners = Partner::all()->get();
    return view('createcompany', compact('partners'));
}
public function create()
{
    $partners = Partner::all();
    return view('createcompany', compact('partners'));
}
$partners = Partner->all();