查看
{!! Form::open(['method'=>'get', 'class' => 'report-filter']) !!}
{!! Form::select('years', $available_year, null, ['class'=>'form-control', 'placeholder'=>'--- Choose Year ---']) !!}
{!! Form::close() !!}
控制器
$available_year = DB::table('purchases')
->selectRaw('YEAR(purchase_date) as year')
->groupBy(DB::raw("YEAR(purchase_date)"))
->orderBy('purchase_date')
->pluck('year');
每次我尝试发送请求时,输入请求都会发送年份的ID,但我只想获取选择框内的值。下面的图像显示了我想要获得的带有大红色圆圈的选择选项数组。
例如,如果我选择2009,那么我想要的是输入请求发送2009而不是id。
答案 0 :(得分:4)
做一个pluck('year', 'year')
。这将返回一个数组,其中包含index作为索引/键以及返回数组的值
答案 1 :(得分:1)
您可以使用lists
来获取具有键/值对的数组
$available_year = DB::table('purchases')
->selectRaw('YEAR(purchase_date) as year')
->groupBy(DB::raw("YEAR(purchase_date)"))
->orderBy('purchase_date')
//->lists(your_value, your_key)
->lists('year', 'year'); //<- check this line
希望这有帮助!
答案 2 :(得分:0)
您需要将带有key/value or associative array的数组传递到您的选择小部件Form::select
,此时您的键是索引编号,并且值在传递到视图之前的年份将您的$available_year
转换为
array(
'2002' => '2002',
'2003' => '2003'
.....
)
像
这样的东西$years = [];
foreach($available_year as $year){
$years[$year] = $year;
}
通过$years
查看
{!! Form::select('years', $years, null, ['class'=>'form-control', 'placeholder'=>'--- Choose Year ---']) !!}