CodeHunt
CodeHunt

Reputation: 73

How to insert table data at a particular time in Laravel?

I am new to Laravel. I am trying to insert some data into the table of the database at a particular time, say 12 am. What I have tried is:

QuoteController.php

use Illuminate\Http\Request;
use Anomaly\Streams\Platform\Http\Controller\ResourceController;
use GuzzleHttp\Client;
use App\Rating;
use DB;

//use Illuminate\Support\Facades\DB;
class QuoteController extends ResourceController
{
    public function sendMessage(Request $request)
    {
        $current_date = date('Y-m-d H:i:s');

        $from_id = $request->input('from_id');
        $to_id = $request->input('to_id');
        $msg = $request->input('msg');
        $from_name = $request->input('from_name');
        $to_name = $request->input('to_name');

        DB::insert('insert into default_user_messages (from_id,to_id,message,from_name,to_name,time) values (?, ?, ?, ?, ?, ?)', [$from_id, $to_id, $msg, $from_name, $to_name, $current_date]);

        return view('templates::pagetwigs/chatmessage')->with('message', 'Message send successfully!');
    }
}

chatmessage.blade.php

<form method="post" action="/sendMessage" id="reviewForm">

    <input type="hidden" name="from_id" value="" 1"/>
    <input type="hidden" name="from_name" value="fdf"/>
    <input type="hidden" name="to_id" value="2"/>
    <input type="hidden" name="to_name" value="sgg"/
    <div class="form-group row">

        <div class="col-md-12">
            <p id="c1" class="p-color" onclick="copyText('c1')">
                Lorem Epsum?
            </p>
            <p id="c2" class="p-color" onclick="copyText('c2')">
                dolor sit amet?
            </p>
            <textarea class="form-control" id="select-text" name="msg"></textarea>
        </div>
    </div>

    <div class="form-group row">
        <input type="submit" name="send" value="Send">
    </div>
</form>
                
                

I want to insert this form data to table at a scheduled time of 12 am .How to do so?

Upvotes: 0

Views: 1407

Answers (1)

Syamlal
Syamlal

Reputation: 900

You can use laravel Task Scheduling. When using the scheduler, only a single cron entry is needed on your server. Your task schedule is defined in the app/Console/Kernel.php file's schedule() method.

you can write your code inside shedule function

protected function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
            //DB Operation
        })->dailyAt('24:00');
    }

Upvotes: 1

Related Questions