Courses

Flutter 3 Mobile App with Laravel 12 API

Creating First CRUD

You're reading a FREE PREVIEW of a PREMIUM course.

Link to the repository

[Only for premium members]

Let's start by creating our base API application with our first CRUD - Categories:


Creating a new Laravel Project

Let's start by creating a new Laravel project. Open your terminal and run the following command:

laravel new laravel-api-flutter-api-code

Then we will select None as our Starter kit:


Creating our First Model and Migration

Let's create our first model and migration for our categories. Run the following command:

php artisan make:model Category -m

Then we fill in our fields:

Migration

Schema::create('categories', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->nullable()->constrained();
$table->string('name');
$table->timestamps();
});

Then, we prepare our model:

app/Models/Category.php

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
 
class Category extends Model
{
use HasFactory;
 
protected $fillable = [
'user_id',
'name',
];
 
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
}

Creating a Controller

Let's create our API Resource Controller for our categories. Run the following command:

php artisan make:controller Api/CategoryController --resource --api --model=Category

This will create a new controller with all the necessary methods for our CRUD:

app/Http/Controllers/Api/CategoryController.php

use App\Http\Controllers\Controller;
use App\Models\Category;
use Illuminate\Http\Request;
 
class CategoryController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
//
}
 
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}
 
/**
* Display the specified resource.
*/
public function show(Category $category)
{
//
}
 
/**
* Update the specified resource in storage.
*/
public function update(Request $request, Category $category)
{
//
}
 
/**
* Remove the specified resource from storage.
*/
public function destroy(Category $category)
{
//
}
}

Returning First API Response

To keep this simple, we will add the...

The full lesson is only for Premium Members.
Want to access all 26 text lessons of this course? (116 min read)

You also get:

  • 77 courses
  • Premium tutorials
  • Access to repositories
  • Private Discord