Добавление dateTime на Laravel 5.7 - PullRequest
0 голосов
/ 04 сентября 2018

Это мой контроллер

public function storeAddSite(Request $request){

  if($request->submit=="Cancel")
      return redirect('/');


  if($request->submit=="Submit"){

      $site_name = $request->input('site_name');
      $site_url = $request->input('site_url');
      $crawl_id = $request->input('crawl_id');
      $ga_id = $request->input('ga_id');
      $uptime_code = $request->input('uptime_code');

      $email = $request->input('email');
      if($request->active == "active")
           $active = TRUE;
      else $active = FALSE;

      DB::table('sites')->insert(['site_name'=>$site_name,'site_url'=>$site_url,'deepcrawl_project_id'=>$crawl_id,'ga_id'=>$ga_id,'uptime_access_code'=>$uptime_code, 'recipients'=>$email, 'active'=>$active]);

  return redirect('/');
  }
}

Это мои миграции моего сайта

public function up(){
    Schema::create('sites', function (Blueprint $table) {
        $table->increments('site_id');
        $table->string('site_name', 100);
        $table->string('site_url', 100);
        $table->integer('deepcrawl_project_id');
        $table->integer('ga_id');
        $table->string('uptime_access_code');
        $table->dateTime('monthly_email_date');
        $table->string('recipients')->unique();
        $table->boolean('active');
    });
}

Laravel Version 5.7 Php версия 7.2.8

Теперь вот проблема. Я хочу, чтобы мой ежемесячный_день_данных устанавливался на каждый первый день месяца, и хочу также сохранить его в своей базе данных. У вас есть идеи, как это сделать?

1 Ответ

0 голосов
/ 04 сентября 2018

Laravel поставляется с Carbon Встроенной библиотекой дат PHP, поэтому для создания даты используйте следующее:

use Carbon\Carbon;

Тогда в вашем коде:

$monthly_email_date = Carbon::now()->startOfMonth(); 
// Would be 2018-09-01 00:00:00

Затем добавьте это в оператор вставки:

DB::table("sites")->insert([
  "site_name" => $site_name,
  "site_url" => $site_url,
  "deepcrawl_project_id" => $crawl_id,
  "ga_id" => $ga_id,
  "uptime_access_code" => $uptime_code, 
  "recipients" => $email, 
  "active" => $active,
  "monthly_email_date" => $monthly_email_date
]);

Это установит для вашего столбца monthly_email_date значение 2018-09-01 00:00:00.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...