Вставьте ноль в поле даты в postgresql, используя коллекцию - PullRequest
0 голосов
/ 24 декабря 2018

Я пытаюсь вставить массив с полем даты - end_date в postgresql с Laravel 5.7.Но это дает ошибку -

SQLSTATE[23502]: Not null violation: 7 ERROR:  null value in column \"end_date\" violates not-null constraint

Я использую Laravel 5.7, Postgresql 9.3

$array = [
  "amazon_store_id" => 4
  "advertising_profile_id" => 1
  "campaign_id" => 123
  "name" => "6 shelf 2"
  "campaign_type" => "sponsoredProducts"
  "targeting_type" => "manual"
  "premium_bid_adjustment" => true
  "daily_budget" => 15.0
  "start_date" => "2014-11-25 09:32:18"
  "end_date" => null
  "state" => "paused"
  "serving_status" => "CAMPAIGN_PAUSED"
  "creation_date" => "2014-11-07 10:17:03"
  "last_updated_date" => "2018-10-24 12:49:54"
  "created_at" => "2018-12-24 09:32:18"
  "updated_at" => "2018-12-24 09:32:18"
];
DB::table($table_name)->insert($array->toArray());

В идеале он должен вставить ноль в базу данных.

Ответы [ 2 ]

0 голосов
/ 25 декабря 2018

В своей миграции вы можете сделать это, чтобы сделать столбец обнуляемым:

public function up()
{
    Schema::create('tablename', function (Blueprint $table) {
        $table->dateTime('end_date')->nullable();
    });
}

-> nullable () Укажите, что столбец допускает значения NULL

0 голосов
/ 24 декабря 2018

В вашем файле миграции вы должны определить поле даты как nullable.

Schema::table($table_name, function (Blueprint $table) {
    $table->dateTime('end_date')->nullable();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...