Start Your First CRUD

you can build a CRUD after you make a migration for your table, let's say you need to build a customer's table through this migration.

you can create a new migration

php artisan make:migration create_customers_table

and after that, you can build your customer table schema.


<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateCustomersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('customers', function (Blueprint $table) {
            $table->id();
            $table->string('name')->index();
            $table->longText('bio')->nullable();
            $table->string('email')->unique()->index();
            $table->string('phone');
            $table->text('address')->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('customers');
    }
}

run migration to create the table

php artisan migrate

now you need to install our Generator Plugin Tomato PHP so please use this command to install it

composer require tomatophp/tomato-php

and here is the tomato step just use this command

php artisan tomato:generate

it will ask you about the table name you generate a migration for it, and if you like to use Laravel Modules, you can just say y on the next ask.

now you need to add a menu item to the AppServiceProvier boot() function like this

use TomatoPHP\TomatoAdmin\Facade\TomatoMenu;
use TomatoPHP\TomatoAdmin\Services\Contracts\Menu;

... 

public function boot()
{
    TomatoMenu::register(
        Menu::make()
            ->group('Resources')
            ->label('Users')
            ->route('admin.customers.index')
            ->icon('bx bx-user')
    );
}

This facade accepts an array or just 1 Menu class so you can use it as you like

make sure that your view is clean by using this command

php artisan optimize:clear

BOM.. your CRUD is ready.

Last updated