【问题标题】:"Undefined variable $exams (View: /Users/pathparakh/Projects/relationship/resources/views/marks/create.blade.php)" in Laravel RelationshipLaravel 关系中的“未定义变量 $exams(查看:/Users/pathparakh/Projects/relationship/resources/views/marks/create.blade.php)”
【发布时间】: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


【解决方案1】:

你可以这样做

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'));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    相关资源
    最近更新 更多