CRUD Tutorial Application in Laravel 6.0

Hello friends laravel 6.0 has been released, then through this tutorial I will tell you about the crud operation of laravel 6.0, how you can create, read, update, delete operation application in laravel 6.0.

In laravel 6.0 I will tell you step to step how you can create crud operation. First of all I will tell you overview what step we have to do.

Overview
Step 1: Install Laravel 6.0
Step 2: Database Connect Configuration From .env file
Step 3: Create Table in Laravel 6.0
Step 4: Create Resource Route url in Laravel 6.0
Step 5: Model Create in Laravel 6.0
Step 6: Controller File Create Laravel 6.0
Step 7: Create Blade Files in Laravel 6.0

Step 1:- Install Laravel 6.

In this step, first of all install Laravel 6.0, the command to install Laravel 6 .0 given below.

composer create-project --prefer-dist laravel/laravel blog

Step 2: Database Connect Configuration From .env file

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=Database Name Here
DB_USERNAME=User Name Here
DB_PASSWORD=Password Here

Step 3:- Create Table in Laravel 6

php artisan make:migration create_blogs_table --create=blogs

database/migrations

 use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateBlogsTable extends Migration { /** * Run the migrations. * * @return void /  public function up()  {  Schema::create('blogs', function (Blueprint $table) {  $table->bigIncrements('id');  $table->string('blog_title');  $table->text('blog_content');  $table->timestamps();  });  }   /* * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('blogs'); } }

Step 4: Create Resource Route url in Laravel 6

routes/web.php

Route::resource('blogs','blogController');

Step 5: Model Create in Laravel 6

php artisan make:model Blog

App/Blog.php

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Blog extends Model
{ protected $fillable = [ 'blog_title', 'blog_content' ];
}

Step 6: Controller File Create Laravel 6

Syntax Create for Controller

php artisan make:controller blogController --resource

app/Http/Controllers/blogController.php.

1.index()

2.create()

3.store()

4.show()

5.edit()

6.update()

7.destroy()

So, let’s copy code and paste on blogController.php file.

app/Http/Controllers/blogController.php

namespace App\Http\Controllers; use App\Blog; use Illuminate\Http\Request; class blogController extends Controller { /** *Display a listing of the resource. * *@return \Illuminate\Http\Response */  public function index() { $blogs = Blog::orderby('id', 'desc')->get(); return view('blogs.index',compact('blogs')); } /** *Show the form for creating a new resource. * *@return \Illuminate\Http\Response */ public function create() { return view('blogs.create'); } /** *Store a newly created resource in storage. * *@param \Illuminate\Http\Request $request *@return \Illuminate\Http\Response */ public function store(Request $request) { $request->validate([ 'blog_title' => 'required', 'blog_content' => 'required', ]); Blog::create($request->all()); return redirect()->route('blogs.index')->with('success','blogs created successfully.'); } /** *Display the specified resource. * *@param \App\Blog $blog *@return \Illuminate\Http\Response */ public function show(Blog $blog) { return view('blogs.show',compact('blog')); } /** *Show the form for editing the specified resource. * *@param \App\Blog $blog *@return \Illuminate\Http\Response */ public function edit(Blog $blog) { return view('blogs.edit',compact('blog')); } /** *Update the specified resource in storage. * *@param \Illuminate\Http\Request $request *@param \App\Blog $blog *@return \Illuminate\Http\Response */ public function update(Request $request, Blog $blog) { $request->validate([ 'blog_title' => 'required', 'blog_content' => 'required', ]); $blog->update($request->all()); return redirect()->route('blogs.index')->with('success','blogs updated successfully'); } /** *Remove the specified resource from storage. * *@param \App\Blog $blog *@return \Illuminate\Http\Response */ public function destroy(Blog $blog) { $blog->delete(); return redirect()->route('blogs.index') ->with('success','Blog deleted successfully'); } } 

Step 7: Create Blade Files in Laravel 6

  1. index.blade.php
  2. create.blade.php
  3. edit.blade.php
  4. show.blade.php
  5. layout.blade.php

resources/views/blogs/index.blade.php

@extends('blogs.layout')
@section('content')
<div class="row"><div class="col-lg-12 margin-tb"><div class="pull-left"><h2>Laravel 6.0 CRUD Example</h2></div><div class="pull-right"><a class="btn btn-success" href="{{ route('blogs.create') }}"> Create New Blog</a></div></div></div>@if ($message = Session::get('success'))
<div class="alert alert-success"><p>{{ $message }}</p></div>@endif
<table class="table table-bordered"><tr><th>Blog Title</th><th>Blog Content</th><th width="280px">Action</th></tr>@foreach ($blogs as $blog)
<tr><td>{{ $blog->blog_title }}</td><td>{{ $blog->blog_content }}</td><td><form action="{{ route('blogs.destroy',$blog->id) }}" method="POST"><a class="btn btn-info" href="{{ route('blogs.show',$blog->id) }}">Show</a><a class="btn btn-primary" href="{{ route('blogs.edit',$blog->id) }}">Edit</a>@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger">Delete</button></form></td></tr>@endforeach
</table>@endsection
</pre>

resources/views/blogs/create.blade.php

@extends('blogs.layout')
@section('content')
<div class="row"><div class="col-lg-12 margin-tb"><div class="pull-left"><h2>Add New Blogs</h2></div><div class="pull-right"><a class="btn btn-primary" href="{{ route('blogs.index') }}"> Back</a></div></div></div>@if ($errors->any())
<div class="alert alert-danger"><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('blogs.store') }}" method="POST">@csrf
<div class="row"><div class="col-xs-12 col-sm-12 col-md-12"><div class="form-group"><strong>Blog Title:</strong><input type="text" name="blog_title" class="form-control" placeholder="title"></div></div><div class="col-xs-12 col-sm-12 col-md-12"><div class="form-group"><strong>Blog Content:</strong><textarea class="form-control" name="blog_content" placeholder="Content"></textarea></div></div><div class="col-xs-12 col-sm-12 col-md-12 text-center"><button type="submit" class="btn btn-primary">Submit</button></div></div></form>@endsection

resources/views/blogs/edit.blade.php

@extends('blogs.layout')
@section('content')
<div class="row"><div class="col-lg-12 margin-tb"><div class="pull-left"><h2>Edit Blogs</h2></div><div class="pull-right"><a class="btn btn-primary" href="{{ route('blogs.index') }}"> Back</a></div></div></div>@if ($errors->any())
<div class="alert alert-danger"><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('blogs.update',$blog->id) }}" method="POST">@csrf
@method('PUT')
<div class="row"><div class="col-xs-12 col-sm-12 col-md-12"><div class="form-group"><strong>Blog Title:</strong><input type="text" name="blog_title" value="{{ $blog->blog_title }}" class="form-control" placeholder="Name"></div></div><div class="col-xs-12 col-sm-12 col-md-12"><div class="form-group"><strong>Blog Content:</strong><textarea class="form-control" name="blog_content" placeholder="Detail">{{ $blog->blog_content }}</textarea></div></div><div class="col-xs-12 col-sm-12 col-md-12 text-center"><button type="submit" class="btn btn-primary">Submit</button></div></div></form>@endsection

resources/views/blogs/show.blade.php

@extends('blogs.layout')
@section('content')
<div class="row"><div class="col-lg-12 margin-tb"><div class="pull-left"><h2> Show Blogs</h2></div><div class="pull-right"><a class="btn btn-primary" href="{{ route('blogs.index') }}"> Back</a></div></div></div><div class="row"><div class="col-xs-12 col-sm-12 col-md-12"><div class="form-group"><strong>Blog Title:</strong>{{ $blog->blog_title }}
</div></div><div class="col-xs-12 col-sm-12 col-md-12"><div class="form-group"><strong>Blog Content:</strong>{{ $blog->blog_content }}
</div></div></div>@endsection

resources/views/blogs/layout.blade.php

<!DOCTYPE html><html><head><title>Laravel 6.0 CRUD Generator Application</title><link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/css/bootstrap.css" rel="stylesheet"></head><body><div class="container">@yield('content')
</div></body></html>

After completing the command, run the following command in your cmd

php artisan serve

Then open on local browser

http://localhost:8000/blogs

Leave a Reply

Your email address will not be published. Required fields are marked *