Laravel foreach不工作

时间:2018-06-08 07:34:30

标签: php laravel foreach

我做了以前所做的一切,但由于某种原因,它不起作用。这是我在刀片中的代码

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

这是我控制器中的代码

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

这是我的路线

Route::get('/create-company', function () {
    return view('createcompany');
})->middleware('auth','admin');

我收到此错误

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

2 个答案:

答案 0 :(得分:3)

修改

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

更改

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

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

由于all()方法已经涉及get()

答案 1 :(得分:0)

我刚改变了路线 Route::get('/create-company', 'CompanyController@create'); 并删除 - &gt; get()

$partners = Partner->all();

现在它正在工作,谢谢。