0
調査アプリを作成すると、基本的にユーザーが入力タイプ「選択」を選択すると、動的に増加するオプション入力が表示されますが、私のデータベースは、イム私の表に、これらのオプションを挿入するための同期方法をsuginが、私にここで雄弁を使った質問への複数のオプション
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'toufarto.question_id' doesn't exist (SQL: select `option_question_id` from `question_id` where `id` = 11)
のエラーを与えているが、私のコードです:
Tables:
questions:
- id;
- input_type;
option_question
- id;
- label_option;
- question_id
マイコントローラ:
public function store(Request $request)
{
$this->validate($request, array(
'label_option' => 'max:255',
'input_type' => 'required|integer'
));
$question = new Question();
$question->input_type = $request->input_type;
$question->save();
$question->options()->sync($request->option, false);
Session::flash('success', 'success');
return back();
}
私の質問モデル:
public function options()
{
return $this->belongsToMany(OptionQuestion::class,'question_id','id');
}
マイOptionQuestionモデル:
class OptionQuestion extends Model
{
protected $table = "option_question";
}
注:私はからラベルを挿入する必要があるので、私は、「同期」メソッドにラベル列を追加することができますどのようにフォームのオプションフィールド
こんにちは、フィードバックのためのおかげで、私はちょうどモデルでこの変更を行ったが、私は同期メソッドを使用傾けるようで、それが言いますメソッドが利用できない、私はおそらく、オプション機能では、 "hasMany"を使用していると思う – Pedro
私はあなたが本当に同期メソッドを使用したいと考慮して、私のフィードバックを更新しました。これは便利な機能です:-)。 ビジネスロジックが進むまでは、自分自身に質問する必要があります。 多くの質問に同じオプションがあり、多くのオプションに同じ質問があります。 – Frederiek