【问题标题】:Which is best way about delete row and insert row in Laravel在 Laravel 中删除行和插入行的最佳方法是什么
【发布时间】:2018-10-13 09:55:12
【问题描述】:

作为标题,我有一张像学生这样的桌子,另一张桌子是班级。 用户可以编辑有关学生上课的信息。 有一对多的关系。 当用户编辑学生的班级时,我总是必须删除这个学生的班级。 然后插入新的类。

\App\class:where('student_id',$student->id)->delete();
foreach($request->input('class') as $class){
  $new = new \App\class;
  $new->student_id = $student->id;
  $new->class_id = $class;
  $new->save();
}

这个问题有解决办法吗? 谢谢。

【问题讨论】:

    标签: php sql laravel model laravel-5.1


    【解决方案1】:

    目前我假设你的关系设置正确。

    你会想看看sync

    Documentation

    $student->classes()->sync($request->input('class'))
    

    sync 方法需要类的 ID 作为参数。

    【讨论】:

    • 非常感谢。这个原因是关于多对多的。我有另一个 OneToMany 案例。 OneToMany 还有其他功能吗?
    • @DavidLin 不幸的是,OneToMany 关系没有其他方法
    • @DavidLin 你能解释一下Class和Student之间的关系吗?一个学生可以在多个班级吗?一个班级是否有多名学生?
    • 您可以添加表单以在您的帖子中编辑学生的课程吗?
    猜你喜欢
    • 2015-06-05
    • 1970-01-01
    • 2022-12-07
    • 2010-09-22
    • 2014-12-14
    • 2010-09-15
    • 2019-09-30
    • 1970-01-01
    相关资源
    最近更新 更多