我遇到了包含Select的价值的障碍。
请查看我的表格:
{!! Form::open(array('action' => 'MasterController@datamaker')) !!}
{!! Form::select('Area', array('Science', 'Arts',)); !!}
{!! Form::input('date', 'Year') !!}
{!! Form::submit('Add') !!}
这是我在控制器中的(简化)方法:
public function datamaker() {
$input = Request::all();
$Database = new Database;
$Database -> Area = Request::get('Area');
$Database -> Year = $input['Year'];
$Database -> save();
return (Request::get('Area')); <----- This is returning "0" instead of the values declared in the form
}
我检查了其他来源,他们提供的解决方案没有奏效。无论我尝试过什么,它总是会回归&#34; 0&#34;而不是在表单中声明的值。
有人能指出我正确的方向吗?
谢谢!
答案 0 :(得分:1)
您获得0
而不是Science
的原因是,Form组件在生成select
时,使用数组键作为可用选项的值,将数组值用作字符串,即显示在选择中。您不提供数组键,因此0
的密钥为Science
,1
的密钥为Arts
。
如果您希望将Science/Arts
作为Request::get('Area')
的值,则需要将数组传递给Form::select()
,其中值和键是相同的字符串,例如
Form::select('Area', ['Science' => 'Science', 'Arts' => 'Arts']);