duanlongling5308
duanlongling5308
采纳率0%
2014-12-09 05:26 阅读 177
已采纳

如何在Input :: all()中获取数组数据并将其作为hasMany()关系存储到实际记录中?

I am working on a project and there is a table diagnostic. There is another table diagnostic_detail. diagnostic has a one to many relation with diagnostic_detail. The post data coming in the Diagnostic controller to make a new record has all the information about the diagnostic itself and an array of details to be pushed into the diagnostic_detail method.

Now it is simple to create the diagnostic record:

Diagnostic::create(Input::all());

But how do I take all the data for the detail and create it?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    dongyuans61046 dongyuans61046 2014-12-09 07:25

    You'll have to loop and create the detail object manually. Try this:

    $details = array();
    foreach(Input::get('diagnostic_detail') as $detail){
        $details[] = new DiagnosticDetail($detail);
    }
    $diagnostic->details()->saveMany($details);
    

    In this example, DiagnosticDetail is the model that is referenced by hasMany() and details is the hasMany relationship.

    More information on inserting related models

    点赞 评论 复制链接分享

相关推荐