问题描述
在这种情况下,我有3个模型/表:1. Teacher
2. 课程
3. 课程分配给老师
Here the scenario is, I have 3 models/tables: 1. Teacher
2. Course
3. Course Assign to Teacher
在 Teacher
模型/表中,有两列名为: credit_taken
和 remaining_credit
(默认0
)在 Course
模型/表中,有一个 course_credit
列.
In the Teacher
model/table there are two columns named: credit_taken
and remaining_credit
(default 0
) and in the Course
model/table there is a course_credit
column.
这就是问题所在:在模型/表的 Course Assign to Teacher
中,当 Teacher
接受 Course
时,此列的值应该这样计算:missing_credit =信用额度-course_credit
So here is the problem: in the model/table Course Assign to Teacher
when a Teacher
takes a Course
the value of this column should be calculated like this: remaining_credit = credit_taken - course_credit
我已经实现了这一点,但是不是在数据库中更新值,而是在 Teachers
表中创建了新行.
I have implemented this, however instead of the value updating in database it's creating a new row in the Teachers
table.
这是我的控制人:
public function postcourseAssignTeacher(Request $request)
{
$assignTeacher = new AssignTeacher();
$assignTeacher->teacher_id = $request->Input(['teacher_id']);
$teacher->credit_taken = $request->Input(['credit_taken']);
$teacher->remaining_credit = $request->Input('remaining_credit');
$assignTeacher->course_id = $request->input('course_id');
$course->name = $request->Input('name');
$course->credit = $request->Input('credit');
$teacher->remaining_credit = $teacher->credit_taken -$course->credit;
$assignTeacher->save();
// $course->save();
$teacher->update();
return redirect('courseAssignTeacherPage');
}
如何更新教师表中的以上两列,而不是插入新记录.
How do I update above two columns in teacher table instead of inserting a new record.
推荐答案
尝试以下操作:
public function postcourseAssignTeacher(Request $request)
{
$assignTeacher = new AssignTeacher();
$assignTeacher->teacher_id = $request->Input(['teacher_id']);
$teacher=Teacher::find(Input($request->['teacher_id']);
$teacher->credit_taken = $request->Input(['credit_taken']);
$teacher->remaining_credit = $request->Input('remaining_credit');
$assignTeacher->course_id = $request->input('course_id');
$course->name = $request->Input('name');
$course->credit = $request->Input('credit');
$teacher->remaining_credit = $teacher->credit_taken -$course->credit;
$assignTeacher->save();
// $course->save();
$teacher->update();
return redirect('courseAssignTeacherPage');
}
如果要插入课程,则应创建$ course = new Course();
and if you want to insert course should be create $course=new Course();
这篇关于如何在Laravel Eloquent中更新相关模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!