前提・実現したいこと
Laravelで受け取ったリクエストの内容をDBに登録するアプリケーションを作っています
その成功メッセージと一緒にDBに値を登録したことでできたIDを返したいです
発生している問題・エラーメッセージ
{ "message": { "headers": {}, "original": { "error": "false" }, "exception": null } }
該当のソースコード
public function post(Request $request){ try{ $r_response = DB::transaction(function() use($request) { //リクエストで送られてきたものの登録処理 $user_id = $request->user_id; global $user_id; //テーブルから対象IDを取得する処理 global $goods_id; }); $r_response['message'] = response()->json([ 'result' => 'success register', 'user_id' => $user_id, 'goods_id' => $goods_id ]); return $r_response; }catch (\Throwable $exception) { $r_response['message'] = response()->json([ 'error' => 'false' ]); return $r_response; } }
試したこと
public function post(Request $request){
の直下に
$user_id = [];
$goods_id = [];と書き足しましたがそうすると
"message": { "headers": {}, "original": { "message": "success register", "user_id": [], "goods_id ": [] },
となり、入れたい場所が空になっていました
また、別のやり方としてはIDを取得した直下に
$this->Session->write('セッション名', $変数);
とかき
$r_response['message'] = response()->json([ 'result' => 'success register', 'user_id' => $user_id, 'goods_id' => $goods_id ]);
の直前で
$user_id = $this->Session->read('userIdSession');
としましたが値が取れないようでエラーメッセージが帰ってきてしまいます
ちなみに値をセッションに格納するやり方ですと、そもそも処理がとまりDBにインサートできませんがその前にただ、グローバル変数に入れて一緒に送ろうとする書き方の場合DBへの登録はできていました
idを送ろうとしないで成功メッセージだけの場合はエラーメッセージのほうが来ず、成功メッセージがちゃんと来ます

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。