Laravel 10/9 insert or store JSON format data into MySQL database; Through this tutorial, i am going to show you how to store JSON data into MySQL using Laravel 10/9 apps.
Follow the below given steps to store/insert your JSON format data into MySQL database using Laravel 10/9 apps:
- Step 1: Install Laravel 10/9 Setup
- Step 2: Configure Database
- Step 3: Generate migration and model
- Step 4: Add Route
- Step 5: Create controller
- Step 6: Create blade view
- Step 7: Start Development Server
Step 1: Install Laravel 10/9 Setup
Run the following command on command prompt to download fresh new laravel setup:
composer create-project --prefer-dist laravel/laravel LaravelJson
To add the database details in the .env file. So Navigate to your project root directory and open .env file. Then set up database credential into it:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=here your database name here
DB_USERNAME=here database username here
DB_PASSWORD=here database password here
Step 3: Generate migration and model
Run the following command to generate one migration file with create one model name Test:
php artisan make:model Test -m
After creating the model and migration file. Go to app/database/migration and find the migration file name create_tests_table.php and update the following code into it:
public function up()
{
Schema::create('tests', function (Blueprint $table) {
$table->increments('id');
$table->string('token')->nullable();
$table->text('data')->nullable();
$table->timestamps();
});
}
Now you need to run the below command. It will create some tables in our database, so use the below command :
php artisan migrate
Step 4: Add Route
To create two routes in web.php file for one is display form and second route is store data in json to mysql database . Go to app/routes/web.php file and create below routes here :
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\JsonController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('laravel-json', [JsonController::class, 'index']);
Route::post('store-json', [JsonController::class, 'store']);
Step 6: Create Controller
Run the following command on command prompt to create a controller file:
php artisan make:controller JsonController
After successfully create controller go to app/http/controllers open JsonController and create two method here. First method display the form and second method convert laravel string form data to json format and save it to database:
Note that, if you are using laravel 8.x and 9.x version, so you should use Model on your controller file like this:
use App\Models\Test;
Or if you are using lower version like 7.x, 6.x, 5.x of laravel, so you should use Model on your controller file like this:
use App\Test;
<?php
namespace App\Http\Controllers;
use Redirect,Response;
use Illuminate\Http\Request;
class JsonController extends Controller
{
public function index()
{
return view('json_form');
}
public function store(Request $request)
{
$data = $request->only('name','email','mobile_number');
$test['token'] = time();
$test['data'] = json_encode($data);
Test::insert($test);
return Redirect::to("laravel-json")->withSuccess('Great! Successfully store data in json format in datbase');
}
}
Step 7: Create Blade view
To create one blade view name json.blade.php let go to resources/views and create one blade view file.
After create blade view file put the below code here :
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Laravel Store Data To Json Format In Database - Laratutorials.com</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" />
<style>
.error{ color:red; }
</style>
</head>
<body>
<div class="container">
<h2 style="margin-top: 10px;">Laravel Store Data To Json Format In Database - Laratutorials.com</h2>
<br>
<br>
@if ($message = Session::get('success'))
<div class="alert alert-success alert-block">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>{{ $message }}</strong>
</div>
<br>
@endif
<form id="laravel_json" method="post" action="{{url('store-json')}}">
@csrf
<div class="form-group">
<label for="formGroupExampleInput">Name</label>
<input type="text" name="name" class="form-control" id="formGroupExampleInput" placeholder="Please enter name">
</div>
<div class="form-group">
<label for="email">Email Id</label>
<input type="text" name="email" class="form-control" id="email" placeholder="Please enter email id">
</div>
<div class="form-group">
<label for="mobile_number">Mobile Number</label>
<input type="text" name="mobile_number" class="form-control" id="mobile_number" placeholder="Please enter mobile number">
</div>
<div class="form-group">
<button type="submit" class="btn btn-success">Submit</button>
</div>
</form>
</div>
</body>
</html>
Step 8: Start Development Server
Run the following command on command prompt to start development server:
php artisan serve
If you want to run the project diffrent port so use this below command
php artisan serve --port=8080
Now you are ready to run our laravel json data stored to datbase example so run below command to quick run.
http://localhost:8000/
Or direct hit in your browser
http://localhost/LaravelJson/public
Conclusion
Through this tutorial, you have successfully laravel project stored data in JSON format in our database. our examples run quickly.
Recommended Laravel Tutorials
Be First to Comment