错误:未定义的变量:视图中的数据(foreach)

时间:2019-05-26 16:41:41

标签: laravel

尝试提交注册表时出现此错误:

  

(2/2)ErrorException未定义变量:语言

“语言”是一个多选选项。

这是我的代码:

register_patient.blade.php:

              <div class="col-sm-4">
                <select class="js-example-basic-multiple form-control tc-select" name="langues[]" multiple="multiple" required  data-placeholder="@lang('Langues')" >
                <option ></option>
                      @foreach ($langues as $langue)
                        <option value="{{ $langue->id }}" {{ (collect(old('langues'))->contains($langue->id)) ? 'selected':'' }}>{{ __($langue->name) }}</option>
                      @endforeach
                    </select>
                     @if ($errors->has('langues'))
                          <span class="help-block">
                              <strong>{{ $errors->first('langues') }}</strong>
                          </span>
                      @endif
              </div>

web.php

Route::get('/inscription-client-avocat-om', 'RegisterController@register')->name('register.patient');

RegisterController.php

public function register()
{

    $langues = Langue::all();
    $specialites = Specialite::all();
    $etablissements = Etablissement::all();
    $secteurs = Secteur::all();
    return view('auth.register_patient',['secteurs'=>$secteurs,'langues' => $langues,'specialites' =>$specialites,'etablissements'=> $etablissements]);
}

1 个答案:

答案 0 :(得分:0)

尝试使用compact返回数据。

    $langues = Langue::pluck('name','id');
    $specialites = Specialite::pluck('name','id');
    $etablissements = Etablissement::pluck('name','id');
    $secteurs = Secteur::pluck('name','id');
        return view('auth.register_patient', compact(['langues ', 'specialites ', 'etablissements ', 'secteurs ']));

如果您在该模型的数据库中没有列名,请进行更改。对于需要在所选内容中显示为文本的内容。

并尝试在select中使用类似的内容:

{{Form::select('langues', $langues, null, [
                        'class' => 'form-control',
                        'id' =>'langue',
                        'placeholder' => __('placeholder')
                        ])}}

我希望这会起作用。