Evercode1\ViewMaker\CrudTemplates::childAppendApiControllerSlugTemplate PHP Method

childAppendApiControllerSlugTemplate() public method

    public function childAppendApiControllerSlugTemplate()
    {
        $content = <<<EOD
    // Begin :::upperCaseModelName::: Api Methods

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

    \$result['data'] = DB::table(':::tableName:::')
                         ->select(':::tableName:::.id as Id',
                                  ':::field_name::: as Name',
                                  ':::tableName:::.slug as Slug',
                                  ':::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',
                         ':::tableName:::.slug as Slug',
                         ':::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',
                                      ':::tableName:::.slug as Slug',
                                      ':::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);
    }