вставить несколько столбцов таблицы Laravel - PullRequest
0 голосов
/ 11 октября 2018

Мне было интересно, как я могу вставить массив данных в одну таблицу, используя 2 массива, как это в модели Laravel

   $attributes  =array('title','description'); 
   $options =array('test','blahblahblah');

таблица будет выглядеть как

title test

описание blahblahblah

пока я дохожу до этого

 $values = array(
    array($attributes => $options),
    );

но там написано

Недопустимый тип ключа массива меньше массива Массивы и объекты не могут быть использованыв качестве ключей массива.

В любом случае, я пытаюсь иметь другую ошибку, но большинство ошибок - недопустимый тип смещения. У вас есть какие-либо предложения?

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Вы можете попробовать это:

Сначала вы должны объединить массив следующим образом:

$tableFields = array('title', 'description');
$fieldValues = array('test', 'blahblahblah');
$newArr = array_combine($tableFields, $fieldValues);

Выход:

array:2 [▼

    "title"         => "test"
    "description"   => "blahblahblah"
]

Затемвключить в таблицу следующим образом:

DB::table('table_name')->insert($newArr);
0 голосов
/ 11 октября 2018

Вы можете объединить оба массива с array_combine .Для ключей потребуется массив, а для значений - один массив.

$attributes = array('title', 'description');
$options = array('test', 'blahblahblah');

$values = array_combine($attributes, $options);

Результат:

array:2 [▼
  "title" => "test"
  "description" => "blahblahblah"
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...