如何使用 laravel 在变量中发送查询?
Posted
技术标签:
【中文标题】如何使用 laravel 在变量中发送查询?【英文标题】:How to send a query in a variable using laravel? 【发布时间】:2020-06-17 02:13:23 【问题描述】:我有这个功能来注册我的用户
protected function validator(array $data)
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'apellido' => ['required', 'string', 'max:255'],
'idop' => ['required', 'string', 'max:6', 'unique:users'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
'cedula' => ['required', 'int'],
'fecha_nacimiento' => ['required', 'date'],
'fecha_ingreso' => ['required', 'date'],
'extension' => ['required', 'int'],
'movil' => ['required', 'int'],
'tel_hab' => ['required', 'int']
]);
我想将此查询发送到一个变量 ($generos) 中以进行选择
$generos = DB::table('tbl_lista_generos')
->select('id','genero')
->get();
我该怎么做?
【问题讨论】:
你会遇到什么错误? 我没有错误...我不知道如何将查询发送到视图以进行选择 【参考方案1】:您可以使用以下方式将变量从controller
传递给view
:
方式1
$generos = DB::table('tbl_lista_generos')
->select('id','genero')
->get();
return view("index", compact("generos "));
方式2
$generos = DB::table('tbl_lista_generos')
->select('id','genero')
->get();
return view("index", ["generos" => $generos]);
Way3
$generos = DB::table('tbl_lista_generos')
->select('id','genero')
->get();
return view("index")->with(["generos" => $generos]);
在你的视图文件上::
<select name="genero">
<option value=''>select</option>
@foreach ($generos as $genero)
<option value=" $genero->id "> $genero->name</option>
@enforeach
</select>
【讨论】:
谢谢!这适用于其他页面......但我需要在 laravel 中注册的路线视图的名称......你知道哪个是?而不是索引我应该放什么?我在 laravel 的注册视图中工作 你可以使用 view("register")->with(["generos" => $generos]); 我必须把这个函数放在哪里?在我的函数验证器中?或者我必须创建另一个函数来放置它 要将变量发送到的视图的名称是什么? 我正在研究 laravel 中注册的视图...所以我没有创建视图...视图在框架中【参考方案2】:通过 cmets,您希望将查询结果发送到视图。所以,
在你的控制器函数中做:
return view('generos.index', [
'generos' => DB::table('tbl_lista_generos')->select('id','genero')->get()
]);
在视图中:
<select class='' name='select_form_generos'>
<option value=''>select genero</option>
@foreach ($generos as $genero)
<option value=' $genero->id '> $genero->genero</option>
@enforeach
</select>
希望对您有所帮助!
【讨论】:
我收到了一个错误......语法错误,文件意外结束,期待 elseif (T_ELSEIF) 或 else (T_ELSE) 或 endif (T_ENDIF) (查看:C:\laragon\www\bduproject\resources\views\auth\register.blade.php) 我为“@endforeach”修改了“@enforeach”.. 因为但什么都没有以上是关于如何使用 laravel 在变量中发送查询?的主要内容,如果未能解决你的问题,请参考以下文章