亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在laravel中將數組插入數據庫而不出錯

如何在laravel中將數組插入數據庫而不出錯

PHP
泛舟湖上清波郎朗 2023-11-03 20:34:02
我有一個 excel 文件,我從 excel 構建了一個數組,我需要將數組插入到 laravel 中的數據庫中,但 laravel 有錯誤,我的數組是private function InsertInDatabase(): void{    $insertableData = [        ['name' => 'joe', 'card_type' => 'mastercard', 'balance' => 100 , 'last_ip'=> '122.154.1.5'],        ['name' => 'sara', 'card_type' => 'visa', 'balance' => 10 , 'last_ip'=> '125.194.11.150'],    ];            $arrayCount = count($insertableData);    for ( $l = 0; $l <= $arrayCount; $l++ )    {                Database::table($this->dbname)->insert(            $insertableData[$l]        );                        }}但有錯誤如何清除此錯誤TypeErrorArgument 1 passed to Illuminate\Database\Query\Builder::insert() must be of the type array, null given, called in C:\xampp\htdocs\xlsfile\app\Excel\ExcelToDatabase.php on line 99
查看完整描述

4 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

嘗試這樣


$data = [

    [...], [...]

]


foreach($data as $item) {

     YourModel::create($item); // YourModel::insert($item);

     //Database::table($this->dbname)->insert($item);

}

或批量插入


YourModel::insert($data); <-- Eloquent

// DB::table($this->dbname)->insert($data); <-- Query Builder


查看完整回答
反對 回復 2023-11-03
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

$arraylist代碼中沒有變量。我想你的意思是$insertableData。如果是,則替換$arraylist為$insertableData.


你實際上并不需要循環:


$insertableData = [

        ['name' => 'joe', 'card_type' => 'mastercard', 'balance' => 100 , 'last_ip'=> '122.154.1.5'],

        ['name' => 'sara', 'card_type' => 'visa', 'balance' => 10 , 'last_ip'=> '125.194.11.150'],

    ];


DB::table($this->dbname)->insert($insertableData);


查看完整回答
反對 回復 2023-11-03
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

使用 Eloquent 或查詢構建器在 Laravel 中進行批量插入非常容易。


您可以使用以下方法。


 $data = [

        ['user_id'=>'Coder 1', 'subject_id'=> 4096],

        ['user_id'=>'Coder 2', 'subject_id'=> 2048],

        //...

    ];


    Model::insert($data); // Eloquent approach

    DB::table('table')->insert($data); // Query Builder approach


查看完整回答
反對 回復 2023-11-03
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

$arraylist[$l] 必須是 $insertableData[$l]

或使用批量插入:

模型::插入($insertableData);


查看完整回答
反對 回復 2023-11-03
  • 4 回答
  • 0 關注
  • 237 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號