【发布时间】:2021-04-01 09:48:38
【问题描述】:
这是我的“标记”模型。我有 3 个模型与此模型相关联。
use HasFactory;
protected $table = 'marks';
protected $fillable = [
'subject_id',
'student_id',
'exam_id',
'mark',
];
public function exams() {
return $this->belongsTo(Exam::class);
}
public function students() {
return $this->belongsTo(Student::class);
}
public function subjects() {
return $this->belongsTo(Subject::class);
}
这是我的考试模型。这与 Mark 模型相关联
use HasFactory;
protected $table = "exams";
protected $fillable = [
'exam',
];
public function marks() {
return $this->hasMany(Mark::class);
}
这是我的 MarkController。这是我的控制器,其中链接了 3 个模型
public function index()
{
$marks = Mark::all();
$students = Student::all();
$subjects = Subject::all();
$exams = Exam::all();
return view('marks.index', compact('marks', 'students', 'subjects', 'exams'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('marks.create');
}
这是我的标记。创建第 20 行发生错误的地方
<td>
<select name="exam_id" id="exam_id" class="form-control">
<option value="">Select One</option>
@foreach ($exams as $exam)
<option value="{{ $exam->id }}">{{ $exam->name }}</option>
@endforeach
</select>
</td>
【问题讨论】:
-
使
$exams在您的create()方法中可用并将其传递给它的视图
标签: laravel eloquent laravel-8