Download Laravel App
composer create-project --prefer-dist laravel/laravel my-app
C:\xampp\htdocs\laravel>composer create-project --prefer-dist laravel/laravel my-app
Connecting our Database
open .env file root directory.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laraveldb
DB_USERNAME=root
DB_PASSWORD=
Create Controller ProductController
php artisan make:controller ProductController
C:\xampp\htdocs\laravel\my-app>php artisan make:controller ProductController
app\Http\Controllers\ProductController.php
//app\Http\Controllers\ProductController.php <?php namespace App\Http\Controllers; use App\Models\product; use Illuminate\Http\Request; class ProductController extends Controller { public function index(){ $products = product::all(); return view('index',compact('products')); } public function create(){ return view('create'); } public function store(Request $request){ $number = mt_rand(1000000000,9999999999); if ($this->productCodeExists($number)) { $number = mt_rand(1000000000,999999999); } $request['product_code'] = $number; Product::create($request->all()); return redirect('/'); } public function productCodeExists($number){ return product::whereProductCode($number)->exists(); } }Database Migration
php artisan make:model Product -m
C:\xampp\htdocs\laravel\my-app>php artisan make:model Product -m
database/migrations/create_products_table.php
//database/migrations/create_products_table.php <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up() { Schema::create('products', function (Blueprint $table) { $table->id(); $table->string('title'); $table->string('price'); $table->string('product_code'); $table->text('description'); $table->timestamps(); }); } public function down() { Schema::dropIfExists('products'); } };run this migration
C:\xampp\htdocs\laravel\my-app>php artisan migrate
Model Product
app/models/Product.php
//app/models/Product.php <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Product extends Model { use HasFactory; protected $fillable = [ 'title', 'price', 'product_code', 'description' ]; }Install Barcode
https://github.com/milon/barcode
composer require milon/barcode
C:\xampp\htdocs\laravel\my-app>composer require milon/barcode
Bootstrap 5
https://getbootstrap.com/docs/5.0/getting-started/introduction/
https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css
resources/views/index.blade.php
//resources/views/index.blade.php <html lang="en"> <head> <meta charset="UTF-8"> <title>Laravel Generate Barcode</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" /> </head> <body> <div class="container"><h1 class="text-primary pt-4 text-center mb-4">Laravel Generate Barcode</h1> <div class="row justify-content-md-center"> <h1 class="pt-4 text-left mb-4"><b>List of Products</b></h1> <hr> <div class="pb-2"> <a href="/create" class="btn btn-success">New Post</a> </div> <table class="table table-hover"> <thead> <tr> <th scope="col">ID</th> <th scope="col">Title</th> <th scope="col">Price</th> <th scope="col">Barcode</th> <th scope="col">Description</th> </tr> </thead> <tbody> @foreach ($products as $product) <tr> <th>{{ $product->id }}</th> <td>{{ $product->title }}</td> <td>{{ $product->price }}</td> <td>{!! DNS1D::getBarcodeHTML("$product->product_code",'UPCA',2,50) !!} p - {{ $product->product_code }} </td> <td>{{ $product->description }}</td> </tr> @endforeach </tbody> </table> </div> </div> </body> </html>resources/views/create.blade.php
//resources/views/create.blade.php <html lang="en"> <head> <meta charset="UTF-8"> <title>Laravel Generate Barcode</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" /> </head> <body> <div class="container-fluid "> <div class="row justify-content-md-center"> <div class="col-md-9"> <div class="card px-5 mt-3 shadow"> <h1 class="text-primary pt-4 text-center mb-4">Laravel Generate Barcode</h1> <form action="/post" method="post"> @csrf <label for="">Title:</label> <input type="text" class="form-control mb-3" name="title" required> <label for="">Price:</label> <input type="number" class="form-control mb-3" name="price" required> <label for="">Description:</label> <textarea name="description" class="form-control mb-3" cols="30" rows="5" required></textarea> <button type="submit" class="btn btn-success col-md-3">Submit</button> </form> </div> </div> </div> </div> </body> </html>Routes
routes/web.php
//routes/web.php <?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\ProductController; //Route::get('/', function () { // return view('welcome'); //}); Route::get('/',[ProductController::class,'index']); Route::get('/create',[ProductController::class,'create']); Route::post('/post',[ProductController::class,'store']);Run C:\xampp\htdocs\laravel\my-app>php artisan serve
Starting Laravel development server: http://127.0.0.1:8000