Evercode1\ViewMaker\CrudTemplates::childApiControllerTemplate PHP Method

childApiControllerTemplate() public method

    public function childApiControllerTemplate()
    {
        $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(':::tableName:::.id as Id',
                                  ':::field_name::: as Name',
                                  ':::parentFieldName::: as :::parent:::',
                                  ':::tableName:::.created_at as Created')
                         ->leftJoin(':::parentsTableName:::', ':::parent_id:::', '=', ':::parentsTableName:::.id')
                         ->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(':::tableName:::.id as Id',
                         ':::field_name::: as Name',
                         ':::parentFieldName::: as :::parent:::'
                         ':::tableName:::.created_at as Created')
                ->leftJoin(':::parentsTableName:::', ':::parent_id:::', '=', ':::parentsTableName:::.id')
                ->where(':::field_name:::', 'like', '%' . \$keyword . '%')
                ->orderBy(\$column, \$direction)
                ->paginate(10);

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



        }

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

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

    }

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


}

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