流明将一个数据库表的数据移动到另一数据库表

时间:2019-03-21 13:32:56

标签: php laravel lumen lumen-5.4

我也是Lumen和Laravel的新手。我想从Db.post复制我的Post表中的表行,并将数据移到DB.state中的Table状态。

将数据移动到状态表后,再从“发布”表中删除数据(可选)。

我正在尝试研究Laravel中的数据库事务和回滚

我该怎么做?

谢谢。

1 个答案:

答案 0 :(得分:0)

根据我的理解,您正在尝试从表Post的一行中获取数据并将其移至State表中。

首先,我将假定您试图仅移动数据而无需进行任何验证。您之所以说DB Transaction是因为您可能需要删除较旧的Post条目。

DB::transaction(function(){
  foreach(Post::all() as $post){
    State::create([
       'first_field' => $post->first_field,
       ...
    ])

    $post->delete();
  }
})