In this tutorial will teach Vue Laravel 10 CRUD using Vite step by step. Laravel 10 CRUD Application we will cover about Create, Read, Update, and Delete and View crud operation in Laravel. Generate the Api is very easy task to transfer data using various front end applications like React,Vue,Angular etc.
Laravel is world best famous PHP framework.it has various features. Laravel is a MVC architecture. crud using Laravel example I will show in the simple way to make eloquent Laravel crud application. Here is the best place where learn Laravel 10.laravel php used to create the web application very easy to create and hosting the application.
Installing Laravel 11
Create the new project which name is lbs-app.type by following command to create the Laravel project.
composer create-project laravel/laravel bbs-app
After Type the Command you have to wait until the project installation get finish. After Finished it.let’s do the setup on database.
Change .env File
Do the database configuration on .env File for username, password and DB Name in this project i have changed the database name as bbs
After that run the project.
Run the Project
Run the Application using following command
php artisan serve
Create Migrations
In Laravel create the table called as Migration
Run the command to create the Migration
php artisan make:migration create_employees_table
After that you can check the inside database folder migrations create_employees_table file has been created successfully.
Select and open the students table. add the following table fields employee,address,phone
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('students', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('address');
$table->string('phone')->nullable();
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('students');
}
};
After modified the columns names then run the migrate command to create the tables in the databases.before the run the command please save project then run it.
php artisan migrate
Create Controller Api Controller
Create Controller in order to create the controller if it crud you can use EmployeeController –api.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Employee;
class EmployeeController extends Controller
{
protected $employee;
public function __construct(){
$this->employee = new Employee();
}
public function index()
{
try {
return response()->json($this->employee->all(), 200);
} catch (\Exception $e) {
return response()->json(['error' => 'Internal Server Error'], 500);
}
}
public function store(Request $request)
{
try {
$employee = $this->employee->create($request->all());
return response()->json($employee, 201);
} catch (\Exception $e) {
return response()->json(['error' => $e], 500);
}
}
public function show(string $id)
{
try {
$employee = $this->employee->find($id);
if (!$employee) {
return response()->json(['error' => 'Employee not found'], 404);
}
return response()->json($employee, 200);
} catch (\Exception $e) {
return response()->json(['error' => 'Internal Server Error'], 500);
}
}
public function update(Request $request, string $id)
{
try {
$employee = $this->employee->find($id);
if (!$employee) {
return response()->json(['error' => 'Employee not found'], 404);
}
$employee->update($request->all());
return response()->json($employee, 200);
} catch (\Exception $e) {
return response()->json(['error' => 'Internal Server Error'], 500);
}
}
public function destroy(string $id)
{
try {
$employee = $this->employee->find($id);
if (!$employee) {
return response()->json(['error' => 'Employee not found'], 404);
}
$employee->delete();
return response()->json(['message' => 'Employee deleted successfully'], 200);
} catch (\Exception $e) {
return response()->json(['error' => 'Internal Server Error'], 500);
}
}
}
After create the controller need to create the model.
Create Model
Model is used to get the data from the database.
Create the Model name which is Employee
php artisan make:model Employee
After Model is Created the look like this. Code inside Model Class (app\Models\)
Change it as like this
Add the Namespace above
namespace App\Models;
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Employee extends Model
{
protected $table = 'employees';
protected $primaryKey = 'id';
protected $fillable = [
'name',
'address',
'phone',
];
use HasFactory;
}
Routes
Pages are Manage through routes. If you are crud system simple you can add it the routes one line look like this
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\API\EmployeeController;
Route::get('/', function () {
return view('welcome');
});
Route::apiResource('/employee', EmployeeController::class);
APi Route Creation
php artisan install:api
List the Routes
php artisan route:list
API Test URL
Install Vue
going to install the vue go to the respective website which is https://vuetifyjs.com/
npm create vuetify@latest
After Create the Components folder. inside the folder create the file as Student.jsx.