Laravel с postgresql db не может вставить значение в таблицу и получить последний вставленный идентификатор с помощью eloquent - PullRequest
1 голос
/ 23 апреля 2019

Laravel Framework 5.4.36 |psql (PostgreSQL) 11.2

Привет, теперь я хочу перенести мой существующий проект laravel db из mysql в postgresql, у меня возникли некоторые проблемы

$insert = [
   "a" => "name",
   "b" => age
   .
   .
];


return DB::table('table')->insert($insert);

, когда я пытаюсь вставить db с массивомданные, которые он возвращает таким образом,

Undefined column: 7 ERROR:  column "0" of relation "table" does not exist ..
LINE 1: insert into "table" ("0", "1", "2", ..

, он не возвращает столбец "a", "b", "c" .., а позицию массива.с mysql db он работает


и

я пытаюсь получить последний вставленный идентификатор данных, как это,

$data = [
   'name'=>$name,
   'address'=>$address,
   'id_class'=>$id_class,
   'lat'=>$lat,
   'long'=>$long,
   'is_changed'=>true
];
return Model::create($data)->id;

это вернет undefine для значения id


я обновляю свой код, первая проблема уже решена с этим:

$insert[] = [
   "a" => "name",
   "b" => age
   .
   .
];

foreach(array_chunk($insert,5000) as $i){
  return DB::table('table')->insert($insert);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...