連鎖機能を使用するには、質問表内で自己関係を使用できます。あなたの移行でこれを追加します。
$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
このアプローチをベースとして使用して改善することができます。
編集あなたのコメントを1として、あなたはanswer_id
とquestion_id
でanswer_question
ピボットテーブルが必要になります。
回答モデル 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
こんにちはGayanを照会、あなたのフィードバックに感謝、しかし、私は、ユーザーの回答に基づいて新しい質問を関連付けるだろうか?例えば、私は4つの入力チェックボックスのタイプを利用することができ、ユーザは2番目のチェックボックスの答えを選択します。その答えに基づいて別の質問が出されます。私はこのタイプの関係を作るのにもう一つのテーブルが必要だと思います。 – Pedro
答えを更新しました。見てみましょう – Gayan