質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

2回答

1871閲覧

LaravelとVueでユーザーを削除をしたい。

mshmash

総合スコア23

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2021/02/23 05:05

編集2021/02/26 14:09

前提・実現したい事

選んだユーザーを削除したい。

発生している問題

削除の方は、response.dataはnullが出てしまいます。その為にaxios.requestに値を入れても挙動は、同じです。
エラーは出ておりません。

該当ソースコード

controller

1<?php 2 3namespace App\Http\Controllers\Shop; 4 5use App\Http\Controllers\Controller; 6use Illuminate\Http\Request; 7use App\Models\User; 8use Illuminate\Support\Facades\Log; 9use Auth; 10 11class HomeController extends Controller 12{ 13 14 public function __construct() 15 { 16 $this->middleware('auth:shop'); 17 } 18  ~~~~略(削除と編集処理) 19 public function destroy(Request $request,User $user) 20 { 21 Log::info($request->delete); 22 $result = $user->delete(); 23 return ['result' => $result]; 24 } 25} 26

web

1<?php 2Route::get('/', function () { 3 return view('user/welcome'); 4}); 5 6// ユーザー 7~~~略(ユーザー権限) 8// 管理者 9Route::namespace('Shop')->prefix('shop')->name('shop.')->group(function () { 10 11 // ログイン認証関連 12 Auth::routes([ 13 'register' => true, 14 'confirm' => false, 15 'reset' => false 16 ]); 17 // ログイン認証後 18 Route::middleware('auth:shop')->group(function () { 19 // TOPページ 20 // Route::resource('home', 'HomeController', ['only' => 'index']); 21 Route::resource('home', 'HomeController')->only(['index', 'store', 'update', 'destroy']); 22 }); 23}); 24 25

vue

1~~~略(上記にbladeの内容を記述) 2 3 <script src="https://cdn.jsdelivr.net/npm/vue@2.6.11"></script> 4 <script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.2/axios.min.js"></script> 5 <script> 6 7 new Vue({ 8 el: '#app', 9 data: { 10 state: 'index', 11 params: { 12 id: -1, 13 name: '', 14 email: '', 15 password: '', 16 passwordConfirmation: '' 17 }, 18 users: [ 19 // ユーザーデータをJSON化 ④ 20 @foreach($users as $user) 21 {!! $user !!}, 22 @endforeach 23 ] 24 }, 25 methods: { 26 changeState(state, value) { // 状態を変化させて表示を切り替え ⑤ 27 28 if(state === 'create') { 29 30 this.params = { 31 id: -1, 32 name: '', 33 email: '', 34 password: '', 35 passwordConfirmation: '' 36 }; 37 38 } else if(state === 'edit') { 39 40 this.params = value; 41 42 } 43 44 this.state = state; 45 46 }, 47 onSave() { // データ保存(追加&変更) ⑥ 48 49 const params = this.params; 50 let url = '/shop/home'; 51 let method = 'POST'; 52 53 if(this.state === 'edit') { // 変更の場合 54 55 url += '/'+ this.params.id; 56 57 method = 'PUT'; 58 59 } 60 61 axios({ url, method, params }) 62 .then(response => { 63 64 if(response.data.result === true) { 65 66 location.reload(); // 再読み込み 67 68 } 69 70 }); 71 72 }, 73 onDelete(user) { // データ削除 ⑦ 74 console.dir(user); 75 if(confirm('削除します。よろしいですか?')) { 76 console.dir(user); 77 const url = '/shop/home/'+ user.id; 78 axios.delete(url, { 79 data: { id: user.id } 80 81 }).then(response => { 82 console.log(response); 83 if(response.data.result === true) { 84 85 location.reload(); // 再読み込み 86 87 } 88 89 }); 90 91 } 92 93 } 94 } 95 }); 96 97 </script> 98</body> 99</html> 100@endsection 101

編集と追加は問題ないです。削除のみできないです。
他にソースが必要の場合や調査の仕方など教えて頂けると幸いです。

---2021/02/25 route:list 追加

route:list

1$ php artisan route:list -v 2+--------+-----------+------------------+-------------------+------------------------------------------------------------------------+----------------+ 3| Domain | Method | URI | Name | Action | Middleware | 4+--------+-----------+------------------+-------------------+------------------------------------------------------------------------+----------------+ 5| | GET|HEAD | / | | Closure | web | 6| | GET|HEAD | api/user | | Closure | api,auth:api | 7| | GET|HEAD | home | user.home.index | App\Http\Controllers\User\HomeController@index | web,auth:user | 8| | GET|HEAD | login | user.login | App\Http\Controllers\User\Auth\LoginController@showLoginForm | web,guest:user | 9| | POST | login | user. | App\Http\Controllers\User\Auth\LoginController@login | web,guest:user | 10| | POST | logout | user.logout | App\Http\Controllers\User\Auth\LoginController@logout | web | 11| | GET|HEAD | register | user.register | App\Http\Controllers\User\Auth\RegisterController@showRegistrationForm | web,guest:user | 12| | POST | register | user. | App\Http\Controllers\User\Auth\RegisterController@register | web,guest:user | 13| | GET|HEAD | shop/home | shop.home.index | App\Http\Controllers\Shop\HomeController@index | web,auth:shop | 14| | POST | shop/home | shop.home.store | App\Http\Controllers\Shop\HomeController@store | web,auth:shop | 15| | PUT|PATCH | shop/home/{home} | shop.home.update | App\Http\Controllers\Shop\HomeController@update | web,auth:shop | 16| | DELETE | shop/home/{home} | shop.home.destroy | App\Http\Controllers\Shop\HomeController@destroy | web,auth:shop | 17| | POST | shop/login | shop. | App\Http\Controllers\Shop\Auth\LoginController@login | web,guest:shop | 18| | GET|HEAD | shop/login | shop.login | App\Http\Controllers\Shop\Auth\LoginController@showLoginForm | web,guest:shop | 19| | POST | shop/logout | shop.logout | App\Http\Controllers\Shop\Auth\LoginController@logout | web | 20| | POST | shop/register | shop. | App\Http\Controllers\Shop\Auth\RegisterController@register | web,guest:shop | 21| | GET|HEAD | shop/register | shop.register | App\Http\Controllers\Shop\Auth\RegisterController@showRegistrationForm | web,guest:shop | 22+--------+-----------+------------------+-------------------+------------------------------------------------------------------------+----------------+ 23

何卒宜しくお願い致します。

---2021/02/26 追加

現在動作確認で問題ないのは追加処理のみです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

yuki84web様

サーバー側で$requestの中身は問題無いですか?(意図するデータを受信できているか)

上記内容、解決の糸口になりました。
本当にありがとうございます!!!!

私自身、Vue.jsしか見えていなかったので。。。本当に情けないです(笑)

下記対応です。

修正前

controller

1 public function destroy(Request $request,User $user) 2 { 3 Log::info($request->delete); 4 $result = $user->delete(); 5 return ['result' => $result]; 6 }

修正後

controller

1public function destroy(Request $request) 2  { 3    $user->id = $request['id']; 4    $result = User::where('id', $request['id'])->delete(); 5    return ['result' => $result]; 6  }

原因:
私的に$userでidが取れているものとおもっておりました。

投稿2021/02/26 14:56

mshmash

総合スコア23

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

route:listを掲載してください。ルーティングが設定されていない可能性があります

投稿2021/02/25 10:30

yuki84web

総合スコア1857

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mshmash

2021/02/25 10:38

返事頂きありがとうございます。 編集して再度アップ致します。
mshmash

2021/02/25 11:44

私自身、後学の為Vue.js習い始めており。。。 管理画面は、Laravel単体で作成したので今度はVue.jsでやりたいと思いやってみたのですが。。。 文字数制限により書ききれないのでgithubの方に上げました。 ※ソースの方は、試行錯誤して汚くなってしまってます。ご了承ください。 https://github.com/mash-pg/VueLaravel_Error
mshmash

2021/02/26 00:25 編集

またしても返信頂きありがとうございます。 色々と説明などを抜かしていてのとソースがおかしなままでした。。。 申し訳ありません。 再度質問内容を編集致します。下記追加内容 axios.deleteで削除ができない(response.data.result === nullが原因?) console.dirでresponse.data===nullになっているのを確認しました。 後、axiosのgithubがあったとは????しりませんでした。(普通そこ調べろよ。。。) 大変参考になりました。ありがとうございます。 https://blog.capilano-fw.com/?p=7481 やって見た事 const url = '/shop/home/'+ user.id; axios.delete(url, { data: { id: user.id } }); やって見た事2 const url = '/shop/home/'+ user.id; axios.delete(url, { data: { id: user.id } }).then(response => { console.log(response); if(response.data.result === true) { location.reload(); // 再読み込み } });
yuki84web

2021/02/26 13:30

サーバー側で$requestの中身は問題無いですか?(意図するデータを受信できているか)
mshmash

2021/02/26 14:05

できてないです。。。 追記:編集処理もなぜか追加されている。。。 (再度コメントの方修正致します) 追加処理では、取れているみたいなのでちょっと頑張ってみます!! ※凡ミスの匂いな気がします。 ありがとうございます!!
mshmash

2021/02/26 14:45

yuki84web様!!!!! 解決の糸口ありがとうございます!!!! 値の方は取得requestの方は取得できているのを確認して下記の対応をしたら動作できました。 controllerの記述 public function destroy(Request $request) { $user->id = $request['id']; $result = User::where('id', $request['id'])->delete(); return ['result' => $result]; } 後は、気になる点があるので追って頑張ってみます。
mshmash

2021/03/12 13:31 編集

yuki84web様には色々と助けて頂いているのと大ヒントを頂いた(私自身これがベストの回答だと感じたので)ベストアンサーにさせて頂きました。本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問