在获取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
}
我已经检查了其他来源,他们提供的解决方案没有奏效。无论我尝试过什么,它总是只返回"0",而不是表单中声明的值
有人能给我指正确的方向吗?
谢谢!
之所以得到0
而不是Science
,是因为Form组件在生成select
时,将数组键用作可用选项的值,并将数组值用作select中显示的字符串。您不提供数组密钥,因此Science
的密钥为0
,Arts
的密钥为1
。
如果您想从Request::get('Area')
获得Science/Arts
作为值,您需要向Form::select()
传递一个数组,其中值和键是相同的字符串,例如
Form::select('Area', ['Science' => 'Science', 'Arts' => 'Arts']);