donnykurnia icon

datatable edited

donnykurnia | PRO | 06/29/16 02:44:11 AM UTC | 0 ⭐ | 362 👁️ | Never ⏰ | []
PHP |

3.47 KB

|

None

|

0 👍

/

0 👎

<?php
 
namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
 
use App\Http\Requests;
use Yajra\Datatables\Html\Builder;
use Yajra\Datatables\Datatables;
use App\Phonebook;
use DB;
 
class PhonebooksController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request, Builder $htmlBuilder)
    {
        
        if ($request->ajax()) {
            DB::statement(DB::raw('set @nomor=0 '));
            //$phonebooks = Phonebook::with('group');
            //$phonebooks = Phonebook::select(DB::raw('@nomor := @nomor + 1 as no'), 'id', 'name', 'hp', 'created_at')->with('group');
            $phonebooks = Phonebook::join('groups', 'phonebooks.id', '=', 'groups.id')
                ->select(DB::raw('@nomor := @nomor + 1 as no'), 'phonebooks.id as id', 'phonebooks.name as name', 'phonebooks.hp as hp', 'phonebooks.created_at as created_at', 'groups.group as group');
            return Datatables::of($phonebooks)
            ->addColumn('action', function($phonebook){
            return view('datatable._action', [
            'model' => $phonebook,
            'form_url' => route('phonebooks.destroy', $phonebook->id),
            'edit_url' => route('phonebooks.edit', $phonebook->id),
            'confirm_message' => 'Yakin mau menghapus ' . $phonebook->name . '?'
            ]);
            })->make(true);
        }
        $html = $htmlBuilder
        ->addColumn(['data' => 'no',         'name'=>'no',                    'title'=>'#', 'orderable'=>false, 'searchable'=>false])
        ->addColumn(['data' => 'name',       'name'=>'phonebooks.name',       'title'=>'Nama'])
        ->addColumn(['data' => 'hp',         'name'=>'phonebooks.hp',         'title'=>'HP'])
        ->addColumn(['data' => 'group',      'name'=>'groups.group',          'title'=>'Group'])
        ->addColumn(['data' => 'created_at', 'name'=>'phonebooks.created_at', 'title'=>'Created At'])
        ->addColumn(['data' => 'action',     'name'=>'action',                'title'=>'', 'orderable'=>false, 'searchable'=>false]);
        return view('phonebooks.index')->with(compact('html'));
    }
 
    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }
 
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }
 
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }
 
    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }
 
    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }
 
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

Comments