laravel - Laravel 关系中的“未定义变量 $exams(查看:/Users/pathparakh/Projects/relationship/resources/views/marks/create.blade.php)”
问题描述
这是我的“标记”模型。我有 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);
}
这是我的考试模型。这与标记模型相关联
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>
解决方案
你可以这样做
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()
{
$exams = Exam::all(); //this part is missing
return view('marks.create', compact('exams'));
}
推荐阅读
- node.js - 访问循环时,在循环外声明的变量确实会发生变化 - 节点
- html - 纯 css 手风琴菜单溢出
- docker - docker run 将参数传递给入口点
- javascript - 在 Postman 中,如何从 Get 请求中获取响应主体,并将其放入 PUT 请求中并进行细微更改
- javascript - 如何在 js 中将文档 (html) 转换为字符串 var?
- html - 在响应式设计中堆叠表格行的确定方法 - 有或没有媒体查询?
- java - 如何使用 Java 访问 Ilog Cplex 中的多维决策变量数组
- python - 我想在 centos 7.5 上为 Python-2.7.15 pkg 创建 rpm
- mysql - 将 MySQL 数据库从一台 PC 移动到另一台 PC
- sequelize.js - feathers-sequelize Left Join Database Postgresql