如何从我的数据库中检索选择选项

时间:2019-01-14 14:02:04

标签: forms select laravel-5

我正试图从不是默认连接的3个数据库中检索我的选择选项。

但我遇到错误:未定义的变量:marqs(视图:C:\ wamp64 \ www \ projetSovac \ resources \ views \ home.blade.php)

这是我的控制器代码

   public function index()
{

    $marques= DB::connection('sqlsrv2')->table('marque')->get();
    $modeles = DB::connection('sqlsrv2')->table('Modele')->select( DB::raw('CodeModele'))->get();
    $finitions = DB::connection('sqlsrv2')->table('finition')->select( DB::raw('CodeFinition'))->get();


    $marqs = $marques->all(['marque']);
    $models = $modeles->all(['CodeModele']);
    $Finitions = $finitions->all(['CodeModele']);
    return View::make('home')

        ->with(compact($marqs))

        ->with(compact($models))

        ->with(compact($Finitions));
    return View('home');
}

和我的home.blade.php代码

  <tr class="filters">
                        <th><input type="text" class="form-control daterangepicker-field" placeholder="Période d'analyse" disabled ></th>
                        <th><select class="form-control "  disabled>
                                {!! Form::Label('marque', 'marque:') !!}
                                @foreach($marqs as $marque)
                                    <option value="{{$marque->codeMarque}}">{{$marque->codeMarque}}</option>
                                @endforeach
                            </select>
                        </th>

您可以帮助确定问题吗? 谢谢

1 个答案:

答案 0 :(得分:1)

compact($marqs)要有一个字符串,将要传递给视图的变量分开。使用:compact('marqs'),您还可以组合变量,例如compact('marqs', 'models', ....etc )

此外,您现在在函数中返回了两次,这是不可能的。

我会这样重写您的函数:

$marques= DB::connection('sqlsrv2')->table('marque')->get();
$modeles = DB::connection('sqlsrv2')->table('Modele')->select( DB::raw('CodeModele'))->get();
$finitions = DB::connection('sqlsrv2')->table('finition')->select( DB::raw('CodeFinition'))->get();

$marqs = $marques->all(['marque']);
$models = $modeles->all(['CodeModele']);
$Finitions = $finitions->all(['CodeModele']);
return View::make('home')->with(compact('marqs', 'models', 'Finitions'));

假设前6行为您提供的实际数据只是返回值。

您可能想阅读有关如何使用laravel模型的信息 https://laravel.com/docs/5.7/eloquent

我不确定您是否定义了任何定义,但这会使您的代码分配更加简单。