这是我的视图代码当我执行应用程序时它只返回我的NULL值,基本上我的$ office_category没有被传递,我需要办公室类别来查询数据库
<div class="box-body">
{{ Form::open(['route' => 'office.index','class' => 'form-horizontal office-form']) }}
<div class="form-body">
<div class="form-group">
<div class="col-md-3">
{{ Form::select('office_category', [
null=>'Please Select',
'Software' => 'Software',
'Computer Hardware' => 'Computer Hardware',
'Survey Instruments' => 'Survey Instruments',
'Office Equipments' => 'Office Equipments'
], isset($office_category) ? $office_category : '', ['class' => 'form-control input-xlarge select2me', 'placeholder' => 'Project Type', 'id' => 'office_category'] ) }}
</div>
{{ Form::hidden('office_category', $office_category) }}
{{ Form::submit('Search Equipment',['class' => 'btn green']) }}
</div>
</div>
{{ Form::close() }}
我的控制器代码:我想要Office类别
Class OfficeController extends BaseController{
public function index(){
$office_category = Input::get('office_category');
if($office_category=='')
$offices = Office::orderBy('office_category', 'asc')
->get();
else
$offices = Office::where('office_category','=',$office_category)
->get();
$assets = ['table','datepicker'];
$users = User::where('client_id','=','')
->orderBy('name','asc')
->lists('name','username');
return View::make('office.index',[
'office_category' => $office_category,
'offices' => $offices,
'users' => $users,
'assets' => $assets
]);
}
我哪里出错了请帮帮忙。
答案 0 :(得分:1)
您的select之后会有一个隐藏字段,其名称与select相同。此隐藏字段的值(空)是发送到服务器的内容。
删除此行:
{{ Form::hidden('office_category', $office_category) }}
或重命名此隐藏字段。
答案 1 :(得分:0)
默认情况下,Form::open
creates a POST
request和您在Index上的索引方法需要GET
次请求。
您需要在routes.php
上添加新路线以匹配此POST
请求。
Route::post('index', 'OfficeController@index');
或者,如果您不介意,可以设置index
来听取任何类型的请求:
Route::any('index', 'OfficeController@index');
答案 2 :(得分:0)
在大多数情况下,上述答案将解决您的问题。如果没有,您可以从浏览器检查您的Web请求并确认$ office_category变量中的值。