如何在 laravel 中使用 foreach 将数据添加到数据库中

我想将所有数据从post表中移到CityPost表中,我使用foreach但为什么只有一个数据条目,


 $store = new CityPost;

           $post = Post::all();

           foreach($post as $p){

               $store->user_id = 14; 

               $store->title = $v->title;

               $store->desc = $v->desc;

               $store->save();

           }

           dd($store);

我希望表格user_id中的所有人PostCity都是 14


慕姐4208626
浏览 161回答 2
2回答

交互式爱情

您应该在 foreach 中创建 CityPost 模型:       $post = Post::all();       foreach($post as $p){           $store = new CityPost;           $store->user_id = 14;            $store->title = $v->title;           $store->desc = $v->desc;           $store->save();               }       dd($store);

梵蒂冈之花

你可以做的是尝试不同的方式,如下所示$post = Post::all();$stores = [];foreach($post as $p){    $store = new CityPost;    $store->user_id = 14;     $store->title = $v->title;    $store->desc = $v->desc;    $stores[] = $store->save();   //if $store->save() is boolean then you can use create method use save() or create() only one   $new = CityPost::create(['user_id'=>14,'title'=>$p->title,'desc'=>$p->desc]);   $stores[] = $new;}dd($stores);或者您可以尝试另一种方式,例如批量更新,而无需多次调用DB    $post = Post::all();    $data = [];    foreach($post as $p){        $store->user_id = 14;         $store->title = $v->title;        $store->desc = $v->desc;        $data[] = ['user_id'=>$store->user_id,'title'=>$p->title,'desc'=>$p->desc];    }    CityPost::insert($data);
打开App,查看更多内容
随时随地看视频慕课网APP