Laravel 6 CRUD (Create Read Update Delete) Tutorial For Beginners – onlinecode
In this post we will give you information about Laravel 6 CRUD (Create Read Update Delete) Tutorial For Beginners – onlinecode. Hear we will give you detail about Laravel 6 CRUD (Create Read Update Delete) Tutorial For Beginners – onlinecodeAnd how to use it also give you demo for it if it is necessary.
Laravel is the most popular framework of php. laravel better than another PHP framework because it handles the command base. so let us see about laravel 6 crud tutorial example. it was released on Sept 03, 2019.
Now, we follow the below step for creating the laravel 6 CRUD operation(Laravel 6 CRUD example).
laravel 6 crud tutorial, laravel 6 crud example, Laravel 6 CRUD (Create Read Update Delete) Operation For Beginners With Example, CRUD Operations Laravel 6, Laravel 6 CRUD Operation with Example, laravel 6 crud, laravel crud operation, laravel crud tutorial, laravel 6, laravel crud operations, laravel, laravel crud example.
Overview
Step 1: Install Laravel 6
Step 2: Setting Database Configuration
Step 3: Create Table using migration
Step 4: Create Resource Route in web.php file
Step 5: Create Model and Controller
Step 6: Create Blade Files
Step 1: Install Laravel 6
We are going to install laravel 6, so first open the command prompt or terminal and go to go to xampp htdocs folder directory using the command prompt. after then run the below command.
composer create-project --prefer-dist laravel/laravel larave6_crud
Step 2: Setting Database Configuration
After complete installation of laravel. we have to database configuration. now we will open the .env file and change the database name, username, password in the .env file. See below changes in a .env file.
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=Enter_Your_Database_Name(larave58_crud) DB_USERNAME=Enter_Your_Database_Username(root) DB_PASSWORD=Enter_Your_Database_Password(root)
Step 3: Create Table using migration
Now, We need to create a migration. so we will below command using create the students table migration.
php artisan make:migration create_students_table --create=students
After complete migration. we need below changes in the database/migrations/create_students_table file.
<?php use IlluminateSupportFacadesSchema; use IlluminateDatabaseSchemaBlueprint; use IlluminateDatabaseMigrationsMigration; class CreateStudentsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('students', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('first_name'); $table->string('last_name'); $table->text('address'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('students'); } } ?>
Run the below command. after the changes above file.
php artisan migrate
Step 4: Create Resource Route in web.php file
We have to need put below student resource route in routes/web.php
Route::resource('student','StudentController');
Step 5: Create Model and Controller
Here below command help to create the controller and model.
php artisan make:controller StudentController --resource --model=Student
Student.php
<?php namespace App; use IlluminateDatabaseEloquentModel; class Student extends Model { protected $fillable = [ 'first_name','last_name', 'address' ]; } ?>
StudentController.php
<?php namespace AppHttpControllers; use AppStudent; use IlluminateHttpRequest; class StudentController extends Controller { /** * Display a listing of the resource. * * @return IlluminateHttpResponse */ public function index() { // $students = Student::all(); return view('student.list', compact('students','students')); } /** * Show the form for creating a new resource. * * @return IlluminateHttpResponse */ public function create() { // return view('student.create'); } /** * Store a newly created resource in storage. * * @param IlluminateHttpRequest $request * @return IlluminateHttpResponse */ public function store(Request $request) { // $request->validate([ 'txtFirstName'=>'required', 'txtLastName'=> 'required', 'txtAddress' => 'required' ]); $student = new Student([ 'first_name' => $request->get('txtFirstName'), 'last_name'=> $request->get('txtLastName'), 'address'=> $request->get('txtAddress') ]); $student->save(); return redirect('/student')->with('success', 'Student has been added'); } /** * Display the specified resource. * * @param AppStudent $student * @return IlluminateHttpResponse */ public function show(Student $student) { // return view('student.view',compact('student')); } /** * Show the form for editing the specified resource. * * @param AppStudent $student * @return IlluminateHttpResponse */ public function edit(Student $student) { // return view('student.edit',compact('student')); } /** * Update the specified resource in storage. * * @param IlluminateHttpRequest $request * @param AppStudent $student * @return IlluminateHttpResponse */ public function update(Request $request,$id) { // $request->validate([ 'txtFirstName'=>'required', 'txtLastName'=> 'required', 'txtAddress' => 'required' ]); $student = Student::find($id); $student->first_name = $request->get('txtFirstName'); $student->last_name = $request->get('txtLastName'); $student->address = $request->get('txtAddress'); $student->update(); return redirect('/student')->with('success', 'Student updated successfully'); } /** * Remove the specified resource from storage. * * @param AppStudent $student * @return IlluminateHttpResponse */ public function destroy(Student $student) { // $student->delete(); return redirect('/student')->with('success', 'Student deleted successfully'); } } ?>
Step 6: Create Blade Files
So finally, first we will create the layout.blade.php files and the second time we will create list.blade.php, create.blade.php, view.blade.php, and edit.blade.php in “resources/ views/student/” directory.
layout.blade.php
<!DOCTYPE html> <html lang="en"> <head> <title>Bootstrap Example</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script> </head> <body> <div > @yield('content') </div> </body> </html>
list.blade.php
@extends('student.layouts.app') @section('content') <div > <div > <h2>Laravel 6 CRUD Example</h2> </div> <div > <a href="{{ route('student.create') }}">Add</a> </div> </div> @if ($message = Session::get('success')) <div > {{ $message }}</p> </div> @endif <table > <tr> <th>No</th> <th>First Name</th> <th>Last Name</th> <th>Address</th> <th width="280px">Action</th> </tr> @php $i = 0; @endphp @foreach ($students as $student) <tr> <td>{{ ++$i }}</td> <td>{{ $student->first_name }}</td> <td>{{ $student->last_name }}</td> <td>{{ $student->address }}</td> <td> <form action="{{ route('student.destroy',$student->id) }}" method="POST"> <a href="{{ route('student.show',$student->id) }}">Show</a> <a href="{{ route('student.edit',$student->id) }}">Edit</a> @csrf @method('DELETE') <button type="submit" >Delete</button> </form> </td> </tr> @endforeach </table> @endsection
create.blade.php
@extends('student.layouts.app') @section('content') <div > <div > <h2>Add New Student</h2> </div> <div > <a href="{{ url('student') }}"> Back</a> </div> </div> @if ($errors->any()) <div > <strong>Whoops!</strong> There were some problems with your input.<br><br> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif <form action="{{ route('student.store') }}" method="POST"> @csrf <div > <label for="txtFirstName">First Name:</label> <input type="text" id="txtFirstName" placeholder="Enter First Name" name="txtFirstName"> </div> <div > <label for="txtLastName">Last Name:</label> <input type="text" id="txtLastName" placeholder="Enter Last Name" name="txtLastName"> </div> <div > <label for="txtAddress">Address:</label> <pre id="txtAddress" name="txtAddress" rows="10" placeholder="Enter Address"></pre> </div> <button type="submit" >Submit</button> </form> @endsection
view.blade.php
@extends('student.layouts.app') @section('content') <div > <div > <h2>Laravel 6 CRUD Example</h2> </div> <div > <a href="{{ url('student') }}"> Back</a> </div> </div> <table > <tr> <th>First Name:</th> <td>{{ $student->first_name }}</td> </tr> <tr> <th>Last Name:</th> <td>{{ $student->first_name }}</td> </tr> <tr> <th>Address:</th> <td>{{ $student->address }}</td> </tr> </table> @endsection
edit.blade.php
@extends('student.layouts.app') @section('content') <div > <div > <h2>Update Student</h2> </div> <div > <a href="{{ url('student') }}"> Back</a> </div> </div> @if ($errors->any()) <div > <strong>Whoops!</strong> There were some problems with your input.<br><br> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif <form method="post" action="{{ route('student.update',$student->id) }}" > @method('PATCH') @csrf <div > <label for="txtFirstName">First Name:</label> <input type="text" id="txtFirstName" placeholder="Enter First Name" name="txtFirstName" value="{{ $student->first_name }}"> </div> <div > <label for="txtLastName">Last Name:</label> <input type="text" id="txtLastName" placeholder="Enter Last Name" name="txtLastName" value="{{ $student->last_name }}"> </div> <div > <label for="txtAddress">Address:</label> <pre id="txtAddress" name="txtAddress" rows="10" placeholder="Enter Address">{{ $student->address }}</pre> </div> <button type="submit" >Submit</button> </form> @endsection
We can start the server and run this example using the below command.
php artisan serve
Now we will run our example using the below Url in the browser.
Hope this code and post will helped you for implement Laravel 6 CRUD (Create Read Update Delete) Tutorial For Beginners – onlinecode. 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