【问题标题】:Laravel foreach not workingLaravel foreach 不工作
【发布时间】:2018-06-08 07:34:30
【问题描述】:

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

<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)

【问题讨论】:

    标签: php laravel foreach


    【解决方案1】:

    编辑

    虽然这个答案会回答 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()

    【讨论】:

    • 还是一样。
    • 在我删除它并更改路线后,它正在工作,谢谢。
    【解决方案2】:

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

    $partners = Partner->all();
    

    现在可以了,谢谢。

    【讨论】:

    • 刚要评论哈哈
    猜你喜欢
    • 1970-01-01
    • 2023-01-10
    • 2022-11-29
    • 2013-01-12
    • 2012-06-26
    • 2015-07-11
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多