要有鏈接功能,你可以在問題表中使用自我關係。在你的移植中添加這個。
$table->integer('questions_id')->unsigned()->nullable();
$table->foreign('questions_id')->references('id')->on('questions');
然後在您的模型中,您可以執行以下操作。
use Illuminate\Database\Eloquent\Model;
class Question extends Model
{
public function children()
{
return $this->belongsTo(Question::class, 'questions_id');
}
}
然後,如果你選擇「是」通過question id
,你可以查詢這個樣子。
$questions = Question::with('children')->find($questionId);
// $questions has related questions
您可以使用此方法作爲基礎,並對其進行改進。
編輯
根據你的評論,你會需要answer_id
和question_id
一個answer_question
透視表。
Answer模式 使用Illuminate \ Database \ Eloquent \ Model;
class Answer extends Model
{
public function questions()
{
return $this->belongsToMany(Question::class, 'answer_question');
}
}
當你查詢
$answerWithQuestions = Answers::with('questions')->find($answerId);
// $answerWithQuestions has related Questions
加揚您好,感謝您的反饋,但我怎麼會涉及基於用戶的答案的新問題?例如,我有4個可用的輸入複選框類型,並且用戶選擇例如第二個複選框的答案,根據該答案給出另一個問題,我會構造這種情況嗎?我想我需要一張桌子來創造我認爲的這種關係。 – Pedro
我更新了我的答案。看一看 – Gayan