Передняя вставка Laravel 5 Eloquent - PullRequest
0 голосов
/ 19 мая 2018

Попытка вставить записи, используя цикл foreach.

$test = array(123, 231, 321, 543);

foreach($test as $key) {
    $data = array('name' => 'test_name', test' => $test[$key], 'property' => 'test_property');
    Test_table::insert($data);    
}

Использование foreach дает ошибку Undefined offset: 123.

Вставка таким способом работает, хотя:

 $data = array(
    array('name' => 'test_name', test' => 123, 'property' => 'test_property'), 
    array('name' => 'test_name', test' => 231, 'property' => 'test_property'), 
    array('name' => 'test_name', test' => 321, 'property' => 'test_property'), 
    array('name' => 'test_name', test' => 543, 'property' => 'test_property'),
  );
 Test_table::insert($data);  

Что не так?

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

попробуйте следующий код:

$test = array(123, 231, 321, 543);
foreach($test as $key) {

$createtesttable=Test_table::create(['name' => 'test_name', 'test' => $key, 'property' => 'test_property']);

}
0 голосов
/ 19 мая 2018
$test = array(123, 231, 321, 543);
foreach($test as $key) {
    $data = array('name' => 'test_name', 'test' => $key, 'property' => 'test_property');
    Test_table::insert($data);    
}

Это должно работать.Вам не нужно обращаться к $test по индексу, поскольку у вас уже есть значение в $key, которое фактически является значением из массива.

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