【问题标题】:How to insert table data at a particular time in Laravel?如何在 Laravel 中的特定时间插入表数据?
【发布时间】:2021-11-13 22:24:44
【问题描述】:

我是 Laravel 的新手。我试图在特定时间将一些数据插入到数据库的表中,比如上午 12 点。 我试过的是:

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>
                
                

我想在预定的凌晨 12 点将这个表单数据插入到表格中。怎么做?

【问题讨论】:

  • 你看过文档吗?创建和调度命令有据可查。在 SO 上,我们会帮助您编写代码,我们不提供如何上手的课程。
  • @Gert B. 我看过文档。但我是 laravel 的新手。因此我不知道在哪里实施。
  • 我的评论会为您指明正确的方向:看看命令以及如何安排它们。

标签: php mysql database laravel scheduled-tasks


【解决方案1】:

你可以使用 laravel 任务调度。使用调度程序时,您的服务器上只需要一个 cron 条目。您的任务计划在 app/Console/Kernel.php 文件的 schedule() 方法中定义。

您可以在 shedule 函数中编写代码

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

【讨论】:

    猜你喜欢
    • 2019-05-22
    • 2018-05-28
    • 2015-06-26
    • 1970-01-01
    • 2012-07-08
    • 2017-04-18
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    相关资源
    最近更新 更多