laravel ajax get request on orderBy => internal server er


laravel ajax get request on orderBy => internal server error

>我想使用 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();