我正在使用 Laravel 9,我陷入了關系,我有一個名為test_series_questionanother is的表test_series_responses。每個test_series_question都有一排test_series_responses。我需要選擇表中可用的回應。就像是WHERE question_id = '$id' AND test_id = $test_id
我試圖從 Laravel 模型中獲得回應
function response()
{
return $this->hasOne(TestSeriesResponse::class, 'question_id', 'id');
}
它作業正常,但是有一個名為的列test_id,如果我不比較 test_id 它將回傳與question_idid 匹配的先前提交的回應而不是test_id
我有兩個問題
- 我可以
function response()從控制器將引數放入模型中嗎? - 我怎樣才能實作這件事,請幫幫我。
這是控制器代碼:
function testOngoing($test_id, $history_id)
{
$test = TestSeries::find($test_id);
$history = $history_id;
$questions = TestSeriesQuestion::where('test_id', $test_id)->with('response')->paginate(1);
$data = compact('test', 'questions', 'history');
return view('test-series/test-question')->with($data);
}

uj5u.com熱心網友回復:
也許像
$questions = TestSeriesQuestion::with(['response' => function ($query) use ($history_id) {
$query->where('history_id', $history_id);
}])->where('test_id', $test_id)->paginate(1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/521856.html
標籤:拉拉维尔关系
