Laravel 4 从数据库中获取下拉表单的信息
Posted
技术标签:
【中文标题】Laravel 4 从数据库中获取下拉表单的信息【英文标题】:Laravel 4 getting information from database for drop-down form 【发布时间】:2013-08-20 16:38:30 【问题描述】:我正在尝试制作一个简单的身份验证应用程序,并且我已经准备好登录/注册表单并且它工作正常。但是,我在填充另一个表中的邮政编码的下拉字段时遇到问题。我不确定我应该如何处理这个问题。大多数时候我只会使用直接的 mysql 查询,但我假设有一种更简单的方法。
控制器:(希望 zip_code 表放在这里。)
public function getSignUp()
$userdata = array(
'email' => Input::get('email'),
'password' => Hash::make(Input::get('password'))
);
$user = new User($userdata);
$user->save();
return Redirect::to('dashboard');
路线
Route::post('signup', 'LoginController@getSignUp');
signup.blade.php
Form::label('email', 'Email:') <br />
Form::text('email') <br />
Form::label('password', 'Password:') <br />
Form::password('password') <br />
Form::label('zip_code', 'Zip Code:') <br />
Form::select('zip_code', array('zip_code' => '', 'city' => '')); <br />
Form::submit() <br />
Form::close()
这是我通常在此之前调用数据库信息的方式
public function showHome()
$testimonials = DB::select('SELECT * FROM `testimonials` WHERE `id`=' . mt_rand(1, 2));
return View::make('home.index', array('pageTitle' => 'Home'))->with('testimonials', $testimonials);
但我没有返回视图,因此不会传递任何变量,我不知道如何实现这一点
任何建议将不胜感激!
【问题讨论】:
你不打算在每个/dashboard
的请求上显示邮政编码吗?如果是这样,为什么不把它放在它自己的控制器上呢?如果不是,为什么?
【参考方案1】:
您可以使用 lists()
函数轻松列出 Eloquent 模型中选择字段的数据。
Testimonial::lists('content', 'id');
【讨论】:
对于那些好奇为什么id
字段排在第二位的人,这是因为lists()
方法中的第二个参数用于指定自定义键列。更多信息here.以上是关于Laravel 4 从数据库中获取下拉表单的信息的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 4 如何使用 input::old() 方法在下拉菜单中显示选定的值?