json - Problems with rendering view when using DataTable in Laravel 5.2 -
i using datatables in laravel 5.2, seems can pass json data failed render view. dunno wrong here.
here datatable controller code:
public function getindex() { return view('event.report'); } /** * process datatables ajax request. * * @return \illuminate\http\jsonresponse */ public function anydata(request $request) { //$developers = event::lists('developer','developer'); $events = event::select(['name','startdate','enddate','venue','developer','client','agency','allowance']); return \datatables::of($events) ->filter(function ($query) use ($request) { if ($request->input('developer')) { $query->where('developer', '=', "{$request->get('developer')}"); } }) ->make(true); }
here view in event.report:
@extends('layouts.app') @section('content') <title>attender monthly report page</title> <div class="container"> {{ form::open(['url' => '/getreport','id'=>'search']) }} {{ form::label('name', 'select developer name:') }} {{ form::select('developer', ['abc'=>'abc','def'=>'def','123'=>'123'],null,['id' => 'name']) }} {{ form::submit('search', ['class' => 'btn btn-primary']) }} {{ form::close() }} <div class="search"> <a href="{{ url('/excel') }}" class="btn btn-primary"><span class="glyphicon glyphicon-save" aria-hidden="true"></span> export excel</a> <table class="table table-hover" id="result"> <thead> <tr> <th>event name</th> <th>start_date</th> <th>end_date</th> <th>venue</th> <th>attender</th> <th>client</th> <th>agency</th> <th>allowance</th> </tr> </thead> </table> </div> </div> @endsection @push('scripts') <script> var otable = $('#result').datatable({ processing: true, serverside: true, ajax: { url: '{{ url('/getreport') }}', data: function (d) { d.name = $('select[name=name]').val(); } }, columns: [ { data: 'name', name: 'name' }, { data: 'startdate', name: 'startdate' }, { data: 'enddate', name: 'enddate' }, { data: 'venue', name: 'venue' }, { data: 'developer', name: 'developer' }, { data: 'client', name: 'client' }, { data: 'agency', name: 'agency' }, { data: 'allowance', name: 'allowance' } ] }); $('#search').on('submit', function(e) { otable.draw(); e.preventdefault(); }); </script> @endpush
and here route:
route::post('/getreport','datatablescontroller@anydata'); route::get('/viewreport','datatablescontroller@getindex');
this json data posted /getreport page:
{ "draw": 0, "recordstotal": 4, "recordsfiltered": 2, "data": [ { "name": "sfdwseef", "startdate": "2016-02-03", "enddate": "2016-02-23", "venue": "dgegw", "developer": "123", "client": "dgsfdse", "agency": "dgfsdg", "allowance": "567" }, { "name": "dfgdrer3terr", "startdate": "2016-03-07", "enddate": "2016-03-08", "venue": "fhghfghf", "developer": "123", "client": "fhgfhty", "agency": "hrthyj", "allowance": "43" } ], "queries": [ { "query": "select count(*) aggregate (select '1' `row_count` `events`) count_row_table", "bindings": [], "time": 1 }, { "query": "select count(*) aggregate (select '1' `row_count` `events` `developer` = ?) count_row_table", "bindings": [ "123" ], "time": 0 }, { "query": "select `name`, `startdate`, `enddate`, `venue`, `developer`, `client`, `agency`, `allowance` `events` `developer` = ?", "bindings": [ "123" ], "time": 0 } ], "input": { "_token": "ogq4pyptxdgwf7ljf8yub5nox6gqbzwp1n5izizg", "developer": "123" } }
and 1 more thing,if want dropdown display options developer column in event model,how shud change code?
Comments
Post a Comment