Evercode1\ViewMaker\CrudTemplates::childControllerSlugTemplate PHP Method

childControllerSlugTemplate() public method

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

namespace App\\Http\\Controllers;

use Illuminate\\Http\\Request;

use App\\Http\\Requests;
:::useModel:::;
:::useParent:::;
use Illuminate\\Support\\Facades\\Redirect;

class :::upperCaseModelName:::Controller extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \\Illuminate\\Http\\Response
     */
    public function index()
    {

        return view(':::modelPath:::.index');
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \\Illuminate\\Http\\Response
     */
    public function create()
    {

       \$:::parentInstances::: = :::parent:::::orderBy(':::parentFieldName:::', 'asc')->get();

        return view(':::modelPath:::.create', compact(':::parentInstances:::'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \\Illuminate\\Http\\Request  \$request
     * @return \\Illuminate\\Http\\Response
     */
    public function store(Request \$request)
    {

       \$count = :::parent:::::count();

        \$this->validate(\$request, [
            ':::field_name:::' => 'required|unique::::tableName:::|string|max:30',
            ':::parent_id:::' => "required|numeric|digits_between:1,\$count"

        ]);

        \$slug = str_slug(\$request->:::field_name:::, "-");

        \$:::modelInstance::: = :::upperCaseModelName:::::create([':::field_name:::' => \$request->:::field_name:::,
                                                                  'slug' => \$slug,
                                                                  ':::parent_id:::'  => \$request->:::parent_id:::]);
        \$:::modelInstance:::->save();

        return Redirect::route(':::modelPath:::.index');

    }

    /**
     * Display the specified resource.
     *
     * @param  int  \$id
     * @return \\Illuminate\\Http\\Response
     */
    public function show(\$id, \$slug='')
    {
        \$:::modelInstance::: = :::upperCaseModelName:::::findOrFail(\$id);

        if (\$:::modelInstance:::->slug !== \$slug) {

            return Redirect::route(':::modelPath:::.show', ['id' => \$:::modelInstance:::->id,
                                                   'slug' => \$:::modelInstance:::->slug], 301);
        }

         \$:::parentInstance::: = \$:::modelInstance:::->:::parentInstance:::->:::parentFieldName:::;

        return view(':::modelPath:::.show', compact(':::modelInstance:::', ':::parentInstance:::'));
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  \$id
     * @return \\Illuminate\\Http\\Response
     */
    public function edit(\$id)
    {
        \$:::modelInstance::: = :::upperCaseModelName:::::findOrFail(\$id);

        \$:::parentInstances::: = :::parent:::::orderBy(':::parentFieldName:::', 'asc')->get();

       \$oldValue = \$:::modelInstance:::->:::parentInstance:::->:::parentFieldName:::;

       \$oldId = \$:::modelInstance:::->:::parentInstance:::->id;

        return view(':::modelPath:::.edit', compact(':::modelInstance:::', ':::parentInstances:::', 'oldValue', 'oldId'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \\Illuminate\\Http\\Request  \$request
     * @param  int  \$id
     * @return \\Illuminate\\Http\\Response
     */
    public function update(Request \$request, \$id)
    {

        \$count = :::parent:::::count();

        \$this->validate(\$request, [
            ':::field_name:::' => 'required|string|max:40|unique::::tableName:::,:::field_name:::,' .\$id,
            ':::parent_id:::' => "required|numeric|digits_between:1,\$count"

        ]);
        \$:::modelInstance::: = :::upperCaseModelName:::::findOrFail(\$id);

        \$slug = str_slug(\$request->:::field_name:::, "-");

        \$:::modelInstance:::->update([':::field_name:::' => \$request->:::field_name:::,
                                       'slug' => \$slug,
                                       ':::parent_id:::'  => \$request->:::parent_id:::
                                       ]);


        return Redirect::route(':::modelPath:::.show', [':::modelInstance:::' => \$:::modelInstance:::,
                                                        'slug' => \$slug
                                                        ]);
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  \$id
     * @return \\Illuminate\\Http\\Response
     */
    public function destroy(\$id)
    {
        :::upperCaseModelName:::::destroy(\$id);

        return Redirect::route(':::modelPath:::.index');
    }
}
EOD;
        return $this->tokenBuilder->insertTokensIntoContent($content);
    }