From 8600eca8a65c5d31ec4b87aaf24f046e6dbd36d9 Mon Sep 17 00:00:00 2001 From: tanhongit Date: Fri, 2 Apr 2021 00:01:01 +0700 Subject: [PATCH 1/4] create update --- public/js/app.js | 57 +++++++++------------ resources/js/components/CreateComponent.vue | 40 ++++++++------- 2 files changed, 46 insertions(+), 51 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 31b18b1..fe75c92 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -2131,8 +2131,6 @@ __webpack_require__.r(__webpack_exports__); // // // -// -// /* harmony default export */ __webpack_exports__["default"] = ({ data: function data() { return { @@ -2142,7 +2140,8 @@ __webpack_require__.r(__webpack_exports__); phone: "", edit_name: "", edit_email: "", - edit_phone: "" + edit_phone: "", + id: '' }; }, mounted: function mounted() { @@ -2173,10 +2172,14 @@ __webpack_require__.r(__webpack_exports__); axios.get("edit_student/" + id).then(function (response) { console.log(response.data); + _this2.id = response.data.id; _this2.edit_name = response.data.name; _this2.edit_email = response.data.email; _this2.edit_phone = response.data.phone; }); + }, + updateStudent: function updateStudent() { + console.log(this.id); } } }); @@ -38687,8 +38690,8 @@ var render = function() { _c("div", { staticClass: "modal-content" }, [ _vm._m(1), _vm._v(" "), - _c("div", { staticClass: "modal-body" }, [ - _c("form", [ + _c("form", [ + _c("div", { staticClass: "modal-body" }, [ _c("div", { staticClass: "form-group" }, [ _c("label", { attrs: { for: "exampleInputEmail1" } }, [ _vm._v("Name") @@ -38771,26 +38774,35 @@ var render = function() { } } }) - ]), + ]) + ]), + _vm._v(" "), + _c("div", { staticClass: "modal-footer" }, [ + _c( + "button", + { + staticClass: "btn btn-secondary", + attrs: { type: "button", "data-dismiss": "modal" } + }, + [_vm._v("\n Close\n ")] + ), _vm._v(" "), _c( "button", { staticClass: "btn btn-primary", - attrs: { type: "submit" }, + attrs: { type: "button" }, on: { click: function($event) { $event.preventDefault() - return _vm.saveStudent($event) + return _vm.updateStudent($event) } } }, - [_vm._v("\n Submit\n ")] + [_vm._v("\n Save changes\n ")] ) ]) - ]), - _vm._v(" "), - _vm._m(2) + ]) ]) ] ) @@ -38841,27 +38853,6 @@ var staticRenderFns = [ [_c("span", { attrs: { "aria-hidden": "true" } }, [_vm._v("×")])] ) ]) - }, - function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c("div", { staticClass: "modal-footer" }, [ - _c( - "button", - { - staticClass: "btn btn-secondary", - attrs: { type: "button", "data-dismiss": "modal" } - }, - [_vm._v("\n Close\n ")] - ), - _vm._v(" "), - _c( - "button", - { staticClass: "btn btn-primary", attrs: { type: "button" } }, - [_vm._v("Save changes")] - ) - ]) } ] render._withStripped = true diff --git a/resources/js/components/CreateComponent.vue b/resources/js/components/CreateComponent.vue index 04f6f4f..d3791b8 100644 --- a/resources/js/components/CreateComponent.vue +++ b/resources/js/components/CreateComponent.vue @@ -121,8 +121,8 @@ - + @@ -188,6 +186,8 @@ export default { edit_name: "", edit_email: "", edit_phone: "", + + id: '', }; }, mounted() { @@ -214,11 +214,15 @@ export default { editStudent(id) { axios.get("edit_student/" + id).then((response) => { console.log(response.data); + this.id = response.data.id; this.edit_name = response.data.name; this.edit_email = response.data.email; this.edit_phone = response.data.phone; }); }, + updateStudent(){ + console.log(this.id); + }, }, }; From a568cdc43b20e55ac4ff85d81ebae9c8b594547e Mon Sep 17 00:00:00 2001 From: tanhongit Date: Fri, 2 Apr 2021 00:09:36 +0700 Subject: [PATCH 2/4] create axios put and update student --- app/Http/Controllers/StudentController.php | 3 +++ public/js/app.js | 7 +++++++ resources/js/components/CreateComponent.vue | 6 ++++++ routes/web.php | 3 ++- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/StudentController.php b/app/Http/Controllers/StudentController.php index ae69537..9c919c4 100644 --- a/app/Http/Controllers/StudentController.php +++ b/app/Http/Controllers/StudentController.php @@ -24,4 +24,7 @@ public function edit_student($id){ $student = Student::find($id); return response()->json($student); } + public function update_student(){ + return 'test'; + } } diff --git a/public/js/app.js b/public/js/app.js index fe75c92..362b3d4 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -2180,6 +2180,13 @@ __webpack_require__.r(__webpack_exports__); }, updateStudent: function updateStudent() { console.log(this.id); + axios.put("update_student", { + name: this.edit_name, + email: this.edit_email, + phone: this.edit_phone + }).then(function (response) { + return console.log(response); + }); } } }); diff --git a/resources/js/components/CreateComponent.vue b/resources/js/components/CreateComponent.vue index d3791b8..68d3fe4 100644 --- a/resources/js/components/CreateComponent.vue +++ b/resources/js/components/CreateComponent.vue @@ -222,6 +222,12 @@ export default { }, updateStudent(){ console.log(this.id); + axios.put("update_student" , { + name: this.edit_name, + email: this.edit_email, + phone: this.edit_phone, + }) + .then(response => console.log(response)); }, }, }; diff --git a/routes/web.php b/routes/web.php index 1edb65e..2603d81 100644 --- a/routes/web.php +++ b/routes/web.php @@ -20,4 +20,5 @@ Route::get('/home', 'HomeController@index')->name('home'); Route::post('save_student', 'StudentController@save_student'); Route::get('all_students', 'StudentController@all_students'); -Route::get('edit_student/{id}', 'StudentController@edit_student'); \ No newline at end of file +Route::get('edit_student/{id}', 'StudentController@edit_student'); +Route::get('update_student', 'StudentController@update_student'); \ No newline at end of file From d02a82f728ffe57388a246c782428bcd973e0ed1 Mon Sep 17 00:00:00 2001 From: tanhongit Date: Fri, 2 Apr 2021 00:20:48 +0700 Subject: [PATCH 3/4] edit student --- app/Http/Controllers/StudentController.php | 21 ++++++++++++++++----- public/js/app.js | 3 ++- resources/js/components/CreateComponent.vue | 18 ++++++++++-------- routes/web.php | 2 +- 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/app/Http/Controllers/StudentController.php b/app/Http/Controllers/StudentController.php index 9c919c4..ab10547 100644 --- a/app/Http/Controllers/StudentController.php +++ b/app/Http/Controllers/StudentController.php @@ -7,7 +7,8 @@ class StudentController extends Controller { - public function save_student(){ + public function save_student() + { $student = new Student; $student->name = request()->name; $student->email = request()->email; @@ -16,15 +17,25 @@ public function save_student(){ return 'fersgdre'; } - public function all_students(){ + public function all_students() + { $students = Student::paginate(5); return response()->json($students); } - public function edit_student($id){ + + public function edit_student($id) + { $student = Student::find($id); return response()->json($student); } - public function update_student(){ - return 'test'; + + public function update_student() + { + $student = Student::find(request()->id); + $student->name = request()->name; + $student->email = request()->email; + $student->phone = request()->phone; + $student->update(); + return 'done update'; } } diff --git a/public/js/app.js b/public/js/app.js index 362b3d4..01ed809 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -2141,7 +2141,7 @@ __webpack_require__.r(__webpack_exports__); edit_name: "", edit_email: "", edit_phone: "", - id: '' + id: "" }; }, mounted: function mounted() { @@ -2181,6 +2181,7 @@ __webpack_require__.r(__webpack_exports__); updateStudent: function updateStudent() { console.log(this.id); axios.put("update_student", { + id: this.id, name: this.edit_name, email: this.edit_email, phone: this.edit_phone diff --git a/resources/js/components/CreateComponent.vue b/resources/js/components/CreateComponent.vue index 68d3fe4..592f866 100644 --- a/resources/js/components/CreateComponent.vue +++ b/resources/js/components/CreateComponent.vue @@ -187,7 +187,7 @@ export default { edit_email: "", edit_phone: "", - id: '', + id: "", }; }, mounted() { @@ -220,14 +220,16 @@ export default { this.edit_phone = response.data.phone; }); }, - updateStudent(){ + updateStudent() { console.log(this.id); - axios.put("update_student" , { - name: this.edit_name, - email: this.edit_email, - phone: this.edit_phone, - }) - .then(response => console.log(response)); + axios + .put("update_student", { + id: this.id, + name: this.edit_name, + email: this.edit_email, + phone: this.edit_phone, + }) + .then((response) => console.log(response)); }, }, }; diff --git a/routes/web.php b/routes/web.php index 2603d81..aa4e551 100644 --- a/routes/web.php +++ b/routes/web.php @@ -21,4 +21,4 @@ Route::post('save_student', 'StudentController@save_student'); Route::get('all_students', 'StudentController@all_students'); Route::get('edit_student/{id}', 'StudentController@edit_student'); -Route::get('update_student', 'StudentController@update_student'); \ No newline at end of file +Route::put('update_student', 'StudentController@update_student'); \ No newline at end of file From 2e923aa3ed9b0f00d1d2b53a02b17158177fe913 Mon Sep 17 00:00:00 2001 From: tanhongit Date: Fri, 2 Apr 2021 00:28:11 +0700 Subject: [PATCH 4/4] go list student after edit student --- public/js/app.js | 29 ++++++++++++++------- resources/js/components/CreateComponent.vue | 21 ++++++++++----- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 01ed809..cae7c41 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -2131,6 +2131,7 @@ __webpack_require__.r(__webpack_exports__); // // // +// /* harmony default export */ __webpack_exports__["default"] = ({ data: function data() { return { @@ -2150,35 +2151,42 @@ __webpack_require__.r(__webpack_exports__); }, methods: { saveStudent: function saveStudent() { + var _this = this; + axios.post("save_student", { name: this.name, email: this.email, phone: this.phone + }).then(function (response) { + _this.getResults(); //show list student after add + }); }, // Our method to GET results from a Laravel endpoint getResults: function getResults() { - var _this = this; + var _this2 = this; var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; axios.get("all_students/?page=" + page).then(function (response) { console.log(response.data); - _this.students = response.data; + _this2.students = response.data; }); }, // create method edit student editStudent: function editStudent(id) { - var _this2 = this; + var _this3 = this; axios.get("edit_student/" + id).then(function (response) { console.log(response.data); - _this2.id = response.data.id; - _this2.edit_name = response.data.name; - _this2.edit_email = response.data.email; - _this2.edit_phone = response.data.phone; + _this3.id = response.data.id; + _this3.edit_name = response.data.name; + _this3.edit_email = response.data.email; + _this3.edit_phone = response.data.phone; }); }, updateStudent: function updateStudent() { + var _this4 = this; + console.log(this.id); axios.put("update_student", { id: this.id, @@ -2186,7 +2194,8 @@ __webpack_require__.r(__webpack_exports__); email: this.edit_email, phone: this.edit_phone }).then(function (response) { - return console.log(response); + _this4.getResults(); //show list student after update + }); } } @@ -38798,8 +38807,8 @@ var render = function() { _c( "button", { - staticClass: "btn btn-primary", - attrs: { type: "button" }, + staticClass: "btn btn-success", + attrs: { type: "button", "data-dismiss": "modal" }, on: { click: function($event) { $event.preventDefault() diff --git a/resources/js/components/CreateComponent.vue b/resources/js/components/CreateComponent.vue index 592f866..be2546d 100644 --- a/resources/js/components/CreateComponent.vue +++ b/resources/js/components/CreateComponent.vue @@ -161,8 +161,9 @@ @@ -196,11 +197,15 @@ export default { }, methods: { saveStudent() { - axios.post("save_student", { - name: this.name, - email: this.email, - phone: this.phone, - }); + axios + .post("save_student", { + name: this.name, + email: this.email, + phone: this.phone, + }) + .then((response) => { + this.getResults(); //show list student after add + }); }, // Our method to GET results from a Laravel endpoint @@ -229,7 +234,9 @@ export default { email: this.edit_email, phone: this.edit_phone, }) - .then((response) => console.log(response)); + .then((response) => { + this.getResults(); //show list student after update + }); }, }, };