/Laravel-AG-Grid

Laravel query implementation for AG Grid

Primary LanguagePHPMIT LicenseMIT

Laravel AG Grid

Example code:

Route::post('messages', function(Request $request) {
	$builder = Message::leftJoin('posts', 'posts.id', '=', 'messages.post_id')
			->leftJoin('users', 'users.id', '=', 'messages.user_id');
	return AGGridDataBuilder::create($builder)
		->debug(true)
		->defaultSelects([
			'messages.id',
			'messages.message',
			'posts.title',
			'users.name',
		])
		 ->build($request)
		 ->asResponse();
});

Route::get('messages/{field}', function(Request $request, $field) {
	return DB::table('messages')->select($field)->distinct()->orderBy($field, 'asc')->pluck($field);
});

AG Grid:

const gridOptions = {
    columnDefs: [
        { field: "id", filter: "agNumberColumnFilter" },
        { field: "message", filter: "agTextColumnFilter" },
        { field: "posts.title", headerName: "Post", filter: "agTextColumnFilter" },
		{ 
            field: "users.name",
            headerName: "User", 
            filter: "agTextColumnFilter",
            searchable: true,
        }
 },