>我想使用 ajax 请求从 mssql 服务器表中执行一个简单的"orderBy"数据...但是我收到内部服务器错误500
这是我的路线:
Route::get('intranet_admin/gestioneStatoUtenti/rotte', 'UserController@orderByDrop');
这是我的控制器:
public function orderByDrop(){
$selectedValue = Input::get('filter_id');
$fetchFilter = User::orderBy($selectedValue)->get();
return Response::json($fetchFilter);
}
以下是我的观点:
<div class="large-3 columns">
<select name="filter_id" id="filterValue">
<option value="TLK">Tlk</option>
<option value="StatoUtent">Stato Utente</option>
<option value="CodFisc">Codice Fiscale</option>
<option value="IdUtente">Id Utente</option>
</select>
</div>
<script>
$(document).ready(function($){
$('#filterValue').change(function(e){
console.log(e);
var filter_id = e.target.value;
$.get('gestioneStatoUtenti/rotte?filter_id='+ filter_id, function(data){
console.log(data);
});
});
});
</script>
干杯
问题是Response::json()
需要一个数组,但是你传递一个对象。
在Laravel中,Model::orderBy()->get()
将返回一个具有类似数组行为的Eloquent Collection Object。要解决此问题,您只需告诉集合将自身作为数组而不是集合对象返回。
$fetchFilter = User::orderBy($selectedValue)->get()->toArray();