我没有更好的方法来解释这一点,这就是我想做的 我想在学生表和学生成绩表之间建立一对多关系,但我希望学生的注册号与表相关,但学生的注册号在两个表中都不是主键。 这是我的学生桌 students table 这是我的学生成绩表 student results table 我试图寻找如何做到这一点的每一个地方,但是我失败了。 请不要算是新手 请帮我,我是一个laravel初学者,它正在建设一个需要尽快开展的学校项目。 预先感谢!
答案 0 :(得分:2)
//Mark model.
public function student()
{
return $this->belongsTo(
Student::class,
'registration_number' //Field name in the student_marks table
'registration_number' //Field name in the students table
);
}
//Student model
public function marks()
{
return $this->hasMany(
Mark::class,
'registration_number', //Field name in the student_marks table
'registration_number', //Field name in the students table
);
}
有关关系定义的详细信息; https://laravel.com/api/5.4/Illuminate/Database/Eloquent/Concerns/HasRelationships.html
答案 1 :(得分:0)
@foreach($marks as $mark)
<tr class="item{{$mark->id}}">
<td>{{ App\Students_mark::find($mark->id)->marks_for('Name_of_Student') }}</td>
<td>{{$mark->regno}}</td>
<td>{{$mark->course_unit_id}}</td>
<td>{{$mark->term_id}}</td>
<td>{{$mark->c_w_marks}}</td>
<td>{{$mark->e_o_t_marks}}</td>
<td>
<button class="show-modal btn btn-sm btn-success" data-id="{{$mark->id}}" data-name="{{$mark->regno}}" data-abbrev="{{$mark->course_unit_id}}" data-level="{{$mark->term_id}}" data-lecturer="{{$mark->c_w_mrks}}">
<span class="glyphicon glyphicon-eye-open"></span> View</button>
<button class="edit-modal btn btn-sm btn-info" data-id="{{$mark->id}}" data-name="{{$mark->regno}}" data-abbrev="{{$mark->course_unit_id}}" data-level="{{$mark->term_id}}" data-lecturer="{{$mark->c_w_mrks}}">
<span class="glyphicon glyphicon-edit"></span> Edit</button>
<button class="delete_data btn btn-sm btn-danger" data-id="{{$mark->id}}" data-name="{{$mark->regno}}">
<span class="glyphicon glyphicon-trash"></span> Delete</button>
</td>
</tr>
@endforeach
我尝试过Mutas的人际关系代码,希望它能起作用,但是现在又遇到了另一个问题,我试图遍历学生标记,然后使用以下关系获取学生的姓名 学生报名模式
public function marks(){
return $this->hasMany(
Students_mark::class,
'regno',
'RegNo'
);
}
学生成绩表
public function marks_for(){
return $this->belongsTo(
StudentsReg::class,
'regno',
'RegNo'
);
}
希望您能理解我,我正在寻找一种更好的方法来解释这一点,但是我失败了!