前提・実現したい事
選んだユーザーを削除したい。
発生している問題
削除の方は、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 追加
現在動作確認で問題ないのは追加処理のみです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。