Evercode1\ViewMaker\CrudTemplates::apiControllerTemplate PHP Method

apiControllerTemplate() public method

    public function apiControllerTemplate()
    {
        $content = <<<EOD
<?php

namespace App\\Http\\Controllers;

use Illuminate\\Http\\Request;

use App\\Http\\Requests;
use DB;

class ApiController extends Controller
{
    // Begin :::upperCaseModelName::: Api Methods

    public function :::apiControllerMethod:::(){

        \$result['data'] = DB::table(':::tableName:::')
                         ->select('id as Id',
                                  ':::field_name::: as Name',
                                  'created_at as Created')
                         ->get();

        return json_encode(\$result);

    }

    public function :::vueApiControllerMethod:::(Request \$request){

        \$column = 'id';
        \$direction = 'asc';

        if (\$request->has('column')){

            \$column = \$request->get('column');
            if (\$column == 'Id'){
                \$direction = \$request->get('direction') == 1 ? 'asc' : 'desc';
            } else {

                \$direction = \$request->get('direction') == 1 ? 'desc' : 'asc';
            }


        }

        if (\$request->has('keyword')){

            \$keyword = \$request->get('keyword');

            \$:::modelResults::: = DB::table(':::tableName:::')
                ->select('id as Id',
                    ':::field_name::: as Name',
                    'created_at as Created')
                ->where(':::field_name:::', 'like', '%' . \$keyword . '%')
                ->orderBy(\$column, \$direction)
                ->paginate(10);

            return response()->json(\$:::modelResults:::);



        }

        \$:::modelResults::: = DB::table(':::tableName:::')
                             ->select('id as Id',
                                      ':::field_name::: as Name',
                                      'created_at as Created')
                             ->orderBy(\$column, \$direction)
                             ->paginate(10);

        return response()->json(\$:::modelResults:::);

    }

    // End :::upperCaseModelName::: Api Methods


}

EOD;
        return $this->tokenBuilder->insertTokensIntoContent($content);
    }