次の入力データをDBに格納しようとしていますが、1つのことを除いて正常に格納されています。データをlaravelに格納する
タイプ:$request->user()->posts()->save($answer);
、post_id
以外はすべて保存されます。 $post->answers()->save($answer);
と置き換えると、user_id
以外はすべて保存されます。 save()メソッドを編集して両方を保存するにはどうすればよいですか?コントローラから
コード:
public function postAnswer(Request $request, $post_id)
{
$post = Post::where('id', $post_id)->first();
$body = $request['body'];
$pros = $request['pros'];
$cons = $request['cons'];
$answer = new Answer();
$answer->body = $body;
$answer->pros = $pros;
$answer->cons = $cons;
$post->answers()->save($answer);
私はあなたのソリューションを試しましたが、再びpost_idだけがDBに保存されています。 –
'user_id'はどこに保存する必要がありますか? '$ answer'は' user_id'を必要としますか?もしそうなら、その関係も保存する必要があります: '$ request-> user() - > answers() - > save($ answer);' – swatkins
これはうまくいきました。しかし、私は、両方を置くことも、次のように動作することに言及したいと思います。$ request-> user() - > answers() - > save($ answer); $ post-> answers() - > save($ answer); –