Laravel 10 CRUD Example Tutorial for Beginners
In this post, we will give you information about Laravel 10 CRUD Example Tutorial for Beginners. Here we will give you detail about Laravel 10 CRUD Example Tutorial for Beginners And how to use it also give you a demo for it if it is necessary.
Throughout this Laravel 10 CRUD operation with an example for beginners tutorial, you will learn a step-by-step guide on how to build a simple crud operation app in laravel 10 and how to validate with store & update form data to the database in laravel crud app with bootstrap.
CRUD Meaning: CRUD is an acronym that comes from the world of computer programming and refers to the four functions that are considered necessary to implement a persistent storage application: create, read, update and delete.
This laravel 10 crud operation step-by-step tutorial from scratch will implement a simple post crud operation app in laravel app with validation and image upload. Using this crud app, you can learn how to insert, read, update, and delete data from the database in laravel 10 projects.
Laravel 10 CRUD Example Tutorial for Beginners
Use the following steps to create a crud operation app in laravel 10 as follows:
- Step 1 – Download Laravel 10 App
- Step 2 – Setup Database with App
- Step 3 – Create Company Model & Migration For CRUD App
- Step 4 – Create Company Controller By Artisan Command
- Step 5 – Create Routes
- Step 6 – Create Blade Views File
- Make Directory Name Companies
- index.blade.php
- create.blade.php
- edit.blade.php
- Step 7 – Run Laravel CRUD App on Development Server
Step 1 – Download Laravel 10 App for Laravel 10 CRUD Example Tutorial for Beginners
First of all, download or install laravel 10 new setup. So, open the terminal and type the following command to install the new laravel 10 app into your machine:
composer create-project --prefer-dist laravel/laravel:^10.0 laravel-10-crud
Step 2 – Setup Database with App
Setup database with your downloaded/installed laravel app. So, you need to find the .env file and setup database details as follows:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database-name
DB_USERNAME=database-user-name
DB_PASSWORD=database-password
Step 3 – Create Company Model & Migration For CRUD App
Open again your command prompt. And run the following command on it. To create model and migration file for form:
php artisan make:model Company -m
After that, open company migration file inside laravel-10-crud/database/migrations/ directory. And then update the function up() with the following code:
public function up()
{
Schema::create('companies', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email');
$table->string('address');
$table->timestamps();
});
}
app/Models/Company.php
<?php
namespace AppModels;
use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;
class Company extends Model
{
use HasFactory;
protected $fillable = ['name', 'email', 'address'];
}
Then, open again command prompt and run the following command to create tables in the database:
php artisan migrate
Step 4 – Create Company Controller By Artisan Command
Create a controller by using the following command on the command prompt to create a controller file:
php artisan make:controller CompanyController
After that, visit app/Http/controllers and open the CompanyController.php file. And update the following code into it:
<?php
namespace AppHttpControllers;
use AppModelsCompany;
use IlluminateHttpRequest;
class CompanyController extends Controller
{
/**
* Display a listing of the resource.
* Laravel 10 CRUD Example Tutorial for Beginners
* @return IlluminateHttpResponse
*/
public function index()
{
$companies = Company::orderBy('id','desc')->paginate(5);
return view('companies.index', compact('companies'));
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
return view('companies.create');
}
/**
* Store a newly created resource in storage.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpResponse
*/
public function store(Request $request)
{
$request->validate([
'name' => 'required',
'email' => 'required',
'address' => 'required',
]);
Company::create($request->post());
return redirect()->route('companies.index')->with('success','Company has been created successfully.');
}
/**
* Display the specified resource.
*
* @param Appcompany $company
* @return IlluminateHttpResponse
*/
public function show(Company $company)
{
return view('companies.show',compact('company'));
}
/**
* Show the form for editing the specified resource.
*
* @param AppCompany $company
* @return IlluminateHttpResponse
*/
public function edit(Company $company)
{
return view('companies.edit',compact('company'));
}
/**
* Update the specified resource in storage.
*
* @param IlluminateHttpRequest $request
* @param Appcompany $company
* @return IlluminateHttpResponse
*/
public function update(Request $request, Company $company)
{
$request->validate([
'name' => 'required',
'email' => 'required',
'address' => 'required',
]);
$company->fill($request->post())->save();
return redirect()->route('companies.index')->with('success','Company Has Been updated successfully');
}
/**
* Remove the specified resource from storage.
*
* @param AppCompany $company
* @return IlluminateHttpResponse
*/
public function destroy(Company $company)
{
$company->delete();
return redirect()->route('companies.index')->with('success','Company has been deleted successfully');
}
}
Step 5 – Create Routes
Then create routes for laravel crud app. So, open the web.php file from the routes directory of laravel CRUD app. And update the following routes into the web.php file:
use AppHttpControllersCompanyController;
Route::resource('companies', CompanyController::class);
Step 6 – Create Blade Views File
Create the directory and some blade view, see the following:
- Make Directory Name Companies
- index.blade.php
- create.blade.php
- edit.blade.php
Create directory name companies inside the resources/views directory.
Note that, create index.blade.php, create.blade.php, and edit.blade.php inside the companies directory. And update the following code into the following files:
index.blade.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Laravel 10 CRUD Example Tutorial for Beginners</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" >
</head>
<body>
<div >
<div >
<div >
<div >
<h3>Laravel 10 CRUD Example Tutorial</h3>
</div>
<div >
<a href="{{ route('companies.create') }}"> Create Company</a>
</div>
</div>
</div>
@if ($message = Session::get('success'))
<div >
<p>{{ $message }}</p>
</div>
@endif
<table >
<thead>
<tr>
<th>S.No</th>
<th>Company Name</th>
<th>Company Email</th>
<th>Company Address</th>
<th width="280px">Action</th>
</tr>
</thead>
<tbody>
@foreach ($companies as $company)
<tr>
<td>{{ $company->id }}</td>
<td>{{ $company->name }}</td>
<td>{{ $company->email }}</td>
<td>{{ $company->address }}</td>
<td>
<form action="{{ route('companies.destroy',$company->id) }}" method="Post">
<a href="{{ route('companies.edit',$company->id) }}">Edit</a>
@csrf
@method('DELETE')
<button type="submit" >Delete</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
{!! $companies->links() !!}
</div>
</body>
</html>
create.blade.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Add Company Form - Laravel 10 CRUD Example Tutorial for Beginners</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
<div >
<div >
<div >
<div >
<h3>Add Company</h3>
</div>
<div >
<a href="{{ route('companies.index') }}"> Back</a>
</div>
</div>
</div>
@if(session('status'))
<div >
{{ session('status') }}
</div>
@endif
<form action="{{ route('companies.store') }}" method="POST" enctype="multipart/form-data">
@csrf
<div >
<div >
<div >
<strong>Company Name:</strong>
<input type="text" name="name" placeholder="Company Name">
@error('name')
<div >{{ $message }}</div>
@enderror
</div>
</div>
<div >
<div >
<strong>Company Email:</strong>
<input type="email" name="email" placeholder="Company Email">
@error('email')
<div >{{ $message }}</div>
@enderror
</div>
</div>
<div >
<div >
<strong>Company Address:</strong>
<input type="text" name="address" placeholder="Company Address">
@error('address')
<div >{{ $message }}</div>
@enderror
</div>
</div>
<button type="submit" >Submit</button>
</div>
</form>
</div>
</body>
</html>
edit.blade.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Edit Company Form - Laravel 10 CRUD Example Tutorial for Beginners</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
<div >
<div >
<div >
<div >
<h3>Edit Company</h3>
</div>
<div >
<a href="{{ route('companies.index') }}" enctype="multipart/form-data">
Back</a>
</div>
</div>
</div>
@if(session('status'))
<div >
{{ session('status') }}
</div>
@endif
<form action="{{ route('companies.update',$company->id) }}" method="POST" enctype="multipart/form-data">
@csrf
@method('PUT')
<div >
<div >
<div >
<strong>Company Name:</strong>
<input type="text" name="name" value="{{ $company->name }}"
placeholder="Company name">
@error('name')
<div >{{ $message }}</div>
@enderror
</div>
</div>
<div >
<div >
<strong>Company Email:</strong>
<input type="email" name="email" placeholder="Company Email"
value="{{ $company->email }}">
@error('email')
<div >{{ $message }}</div>
@enderror
</div>
</div>
<div >
<div >
<strong>Company Address:</strong>
<input type="text" name="address" value="{{ $company->address }}"
placeholder="Company Address">
@error('address')
<div >{{ $message }}</div>
@enderror
</div>
</div>
<button type="submit" >Submit</button>
</div>
</form>
</div>
</body>
</html>
If you submit the add or edit form blank. So the error message will be displayed with the help of the code given below:
@error('name')
<div >{{ $message }}</div>
@enderror
Step 7 – Run Development Server
In the last step, open a command prompt and run the following command to start the development server:
php artisan serve
Then open your browser and hit the following URL for Laravel 10 CRUD Example Tutorial for Beginners:
http://127.0.0.1:8000/companies
Hope this code and post will helped you for implement Laravel 10 CRUD Example Tutorial for Beginners. if you need any help or any feedback give it in comment section or you have good idea about this post you can give it comment section. Your comment will help us for help you more and improve us. we will give you this type of more interesting post in featured also so, For more interesting post and code Keep reading our blogs