プログラミング初心者です。
エラーが出ているので教えて頂ければ幸いです。
前提・実現したいこと
axiosを使ってDBにデータを登録したいです。
普通のデータ登録は出来たのですが、ログインしたuserのuser idを紐付けてデータ登録したいです。
(ログインしたuserが自分の登録したものだけを表示させたいため)
post すると以下のようなエラーが表示されました。
発生している問題・エラーメッセージ
Uncaught (in promise) Error: Request failed with status code 500 at createError at settle at XMLHttpRequest.handleLoad
該当のソースコード
javascript
1 2export default { 3 data(){ 4 return{ 5 todo:[] 6 } 7 }, 8 methods: { 9 addTodo: function(){ 10 axios.post('/api/add',{ 11 name: this.todo 12 }) 13 .then((res)=>{ 14 this.todos = res.data 15 this.todo = '' 16 }) 17 }
PHP
1api.php 2Route::group(['middleware' => 'api'], function() { 3 4 Route::post('/add', 'TodoController@addTodo'); 5 6TodoController.php 7public function addTodo(Request $request){ 8 $todos = new Todo; 9 $todos->user_id = Auth::user()->id; 10 $todos->name = $request->name; 11 $todos->save(); 12 return $todos;
試したこと
$todos->user_id = Auth::user()->idを $todos->user_id = Auth::id();にしてみましたが、ダメでした。
user/idを紐付けない方法($todos->user_id = Auth::user()->id; と DBのuser_idカラムなしの状態)であれば、postできました。
また、Karnel.phpでapiにsession持たせるように記載もしています。
このページは、home.blade.phpにvue routerにてページ表示をさせているのですが、home.blade.phpに
PHP
1<?php 2$id = Auth::id(); 3echo($id); 4?>
を記載するとuser_idは表示されています。
つまりuser_idは取得出来ているから、これをそのままDBのuser_idカラムに登録できるはずだと思っていましたが・・・
エラーが解消されません。
お手数おかけしますが、どうぞよろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。