表題のように、PHPで複数の配列データを一括でDBにinsertする方法が分かりません。F/Wはlaravel5.4を使用しています。
流れを説明しますと、
① controllerから$dataに纏められたお気に入り記事一覧がServiceクラスへ
php
1// retuurn dd($data); from TestController 2 3array:20 [ 4 0 => array:3 [ 5 "title" => "気になる話" 6 "link" => "http://blogfall.com/post-21402/" 7 "img" => "http://img.blogfall.com/wp-content/uploads/2017/06/mf9207-200x112.jpg" 8 ] 9 1 => array:3 [ 10 "title" => "難しかった歌" 11 "link" => "http://blogfall.com/post-21434/" 12 "img" => "http://img.blogfall.com/wp-content/uploads/2017/06/mf9215-200x112.jpg" 13 ] 14 2 => array:3 [ 15 "title" => "youtuberの年収" 16 "link" => "http://blogfall.com/post-21386/" 17 "img" => "http://img.blogfall.com/wp-content/uploads/2017/06/mf9203-200x112.jpg" 18 ] 19 3 => array:3 [ 20 "title" => "梅雨を乗り切る元気な音楽" 21 "link" => "http://blogfall.com/post-21382/" 22 "img" => "http://img.blogfall.com/wp-content/uploads/2017/06/mf9202-200x112.jpg" 23 ] 24 //...続く 25 26]
② 次に、受け取った$dataを1件ずつ1行にinsertしていく
id | title | link | img | 1 | "気になる話" | "http://blogfall.com/post-21402/" | "http://img.blogfall.com/wp-content/uploads/2017/06/mf9207-200x112.jpg" | 2 | "難しかった歌" | .....
この2番を行うために必要なCodeがわかりません。
初歩的な質問かもしれませんが、どうぞよろしくお願いいたします。
※補足になります。
単体であれば、おそらくですが下記のようなCodeでいけるはずです。
php
1<?php 2 3namespace App\Services; 4 5use App\Models\Article; 6 7class ArticleService 8{ 9 /** 10 * @param array $data 11 * @return Article 12 */ 13 public function store(array $data) 14 { 15 $article = new Article; 16 $article->title = $data['title']; 17 $article->url = $data['url']; 18 $article->img_path = $data['img']; 19 $article->save(); 20 21 return $article; 22 } 23 24}
回答1件
あなたの回答
tips
プレビュー