首页 > 解决方案 > 在laravel 5中选择日期前一天通知

问题描述

我正在处理 laravel 日期,我希望 laravel 在数据库中的前一天或同一选定日期发出通知我该怎么做这是我的代码的一部分:这是我的控制器,我将 remember_date 保存在电话簿模型中

public function index()
{

    $current_time = Verta::now();
    $phonebooks = Phonebook::with('client')->get();
    return view('admin.phonebooks.index', compact('phonebooks'))->with('current_time',$current_time);
}

这是我的电话簿表的迁移

 public function up()
{
    Schema::create('phonebooks', function (Blueprint $table) {
        $table->increments('id');
        $table->text('title');
        $table->longText('description');
        $table->integer('client_id');
        $table->dateTime('calldate');
        $table->dateTime('rememberdate');
        $table->timestamps();
    });
}

现在我想在 1 天前或存储在 rememberdate 中的那一天发出通知给客户打电话。

标签: phplaravel

解决方案


以防万一:如果您只想在页面上显示静态通知部分
如果您只想在页面上显示某些内容作为通知,那么只需根据与通知规则匹配的条件获取数据。

脚步:

  • 获取当前日期(php当前日期)
  • Calculated date: 给当前日期加一天(当前日期+1天)
  • Calculated date通过与rememberdate数据库中的匹配来获取记录
  • 如果在数据库中找到任何记录,则显示您的通知,如果未找到记录,则“未找到通知”

对于日期操作,您可以使用核心 php 并将一天添加到当前日期。但我建议你在 laravel 中使用 Carbon lib。

使用 Carbon 在当前日期时间中添加天数的示例链接

根据您的评论进行更新:
对不起,实际上我不理解该日历(jalali 日历),但只需添加一天即可适用于任何日历。如果支持您的日历,请首先探索 Carbon。但我过去也有类似的问题。尼泊尔有自己的日期和日历系统,我不得不开发一个应用程序。我所做的是我在标准时间(英语日期时间)中进行了所有操作/计算并将数据存储在数据库中serversmysql默认情况下,然后仅在显示数据时在应用程序上,我以本地格式显示日期时间(尼泊尔的当地日历)。

在网页 (UI) 上显示数据时,我使用我编写的日期转换器类将日期时间从尼泊尔日期时间转换为英文日期时间,反之亦然。


推荐阅读