From 4c1503a9ad0d430cede405ad05dad1c1a86bd376 Mon Sep 17 00:00:00 2001 From: vangiang Date: Tue, 26 Feb 2019 21:00:45 +0700 Subject: [PATCH 1/4] Lession 7: Update request example --- app/Http/Controllers/UsersController.php | 22 ++++++++-- app/Http/Requests/UpdateUser.php | 33 ++++++++++++++ resources/views/users/edit.blade.php | 56 ++++++++++++++++++++++++ resources/views/users/index.blade.php | 7 ++- routes/web.php | 2 + 5 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 app/Http/Requests/UpdateUser.php create mode 100644 resources/views/users/edit.blade.php diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index 45ee678..d346b06 100644 --- a/app/Http/Controllers/UsersController.php +++ b/app/Http/Controllers/UsersController.php @@ -4,6 +4,7 @@ use Illuminate\Http\Request; use App\User; +use App\Http\Requests\UpdateUser; class UsersController extends Controller { @@ -61,7 +62,13 @@ public function show($id) */ public function edit($id) { - // + $user = User::find($id); + + if (!$user) { + return back(); + } + + return view('users.edit', ['user' => $user]); } /** @@ -71,9 +78,18 @@ public function edit($id) * @param int $id * @return \Illuminate\Http\Response */ - public function update(Request $request, $id) + public function update(UpdateUser $request, $id) { - // + $data = $request->only(['name', 'email']); + + try { + $user = User::find($id); + $user->update($data); + } catch (Exception $e) { + return back()->with('status', 'Update fail'); + } + + return redirect('users')->with('status', 'Profile updated!'); } /** diff --git a/app/Http/Requests/UpdateUser.php b/app/Http/Requests/UpdateUser.php new file mode 100644 index 0000000..39eb267 --- /dev/null +++ b/app/Http/Requests/UpdateUser.php @@ -0,0 +1,33 @@ +user; + + return [ + 'name' => ['required', 'string', 'max:255'], + 'email' => ['required', 'string', 'email', 'max:255', 'unique:users,email,' . $userId], + ]; + } +} diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php new file mode 100644 index 0000000..1972559 --- /dev/null +++ b/resources/views/users/edit.blade.php @@ -0,0 +1,56 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Edit') }}
+ +
+
+ @csrf + +
+ + +
+ + + @if ($errors->has('name')) + + {{ $errors->first('name') }} + + @endif +
+
+ +
+ + +
+ + + @if ($errors->has('email')) + + {{ $errors->first('email') }} + + @endif +
+
+ +
+
+ +
+
+
+
+
+
+
+
+@endsection + diff --git a/resources/views/users/index.blade.php b/resources/views/users/index.blade.php index 6ad3ca2..4efb34c 100644 --- a/resources/views/users/index.blade.php +++ b/resources/views/users/index.blade.php @@ -5,6 +5,11 @@
+ @if (session('status')) +
+ {{ session('status') }} +
+ @endif
User List
@@ -26,7 +31,7 @@ {{ $user->email }} - Edit + Edit Delete diff --git a/routes/web.php b/routes/web.php index d1f69b9..34cc382 100644 --- a/routes/web.php +++ b/routes/web.php @@ -22,5 +22,7 @@ Route::get('/users', 'UsersController@index')->name('users.index'); Route::get('/users/{user}', 'UsersController@show')->name('users.show'); Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy'); +Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit'); +Route::post('/users/{user}', 'UsersController@update')->name('users.update'); // Route::resource('users', 'UsersController'); \ No newline at end of file From 5aac626bbe62bd3ed7a9388784fd73c0afa1a50e Mon Sep 17 00:00:00 2001 From: vangiang Date: Thu, 28 Feb 2019 20:07:43 +0700 Subject: [PATCH 2/4] Lession 7: Create, Show, Store example --- app/Http/Controllers/OrdersController.php | 96 +++++++++++++++++++ app/Http/Requests/OrderCreateRequest.php | 31 ++++++ app/Order.php | 17 ++++ app/User.php | 4 + .../2019_02_28_122635_create_orders_table.php | 34 +++++++ resources/views/orders/create.blade.php | 55 +++++++++++ resources/views/users/show.blade.php | 59 ++++++++++++ routes/web.php | 15 +-- 8 files changed, 305 insertions(+), 6 deletions(-) create mode 100644 app/Http/Controllers/OrdersController.php create mode 100644 app/Http/Requests/OrderCreateRequest.php create mode 100644 app/Order.php create mode 100644 database/migrations/2019_02_28_122635_create_orders_table.php create mode 100644 resources/views/orders/create.blade.php create mode 100644 resources/views/users/show.blade.php diff --git a/app/Http/Controllers/OrdersController.php b/app/Http/Controllers/OrdersController.php new file mode 100644 index 0000000..0fc77fb --- /dev/null +++ b/app/Http/Controllers/OrdersController.php @@ -0,0 +1,96 @@ +only(['total_price', 'description']); + $currentUserId = auth()->id(); + + try { + $data['user_id'] = $currentUserId; + Order::create($data); + } catch (Exception $e) { + return back()->with('status', 'Create fail'); + } + + return redirect("users/$currentUserId")->with('status', 'Profile updated!'); + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($id) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function edit($id) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(Request $request, $id) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + // + } +} diff --git a/app/Http/Requests/OrderCreateRequest.php b/app/Http/Requests/OrderCreateRequest.php new file mode 100644 index 0000000..dc2af96 --- /dev/null +++ b/app/Http/Requests/OrderCreateRequest.php @@ -0,0 +1,31 @@ + ['required', 'integer'], + 'description' => ['required'], + ]; + } +} diff --git a/app/Order.php b/app/Order.php new file mode 100644 index 0000000..6614d47 --- /dev/null +++ b/app/Order.php @@ -0,0 +1,17 @@ +hasMany('App\Order'); + } } diff --git a/database/migrations/2019_02_28_122635_create_orders_table.php b/database/migrations/2019_02_28_122635_create_orders_table.php new file mode 100644 index 0000000..3834d20 --- /dev/null +++ b/database/migrations/2019_02_28_122635_create_orders_table.php @@ -0,0 +1,34 @@ +increments('id'); + $table->integer('user_id'); + $table->integer('total_price'); + $table->text('description'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('orders'); + } +} diff --git a/resources/views/orders/create.blade.php b/resources/views/orders/create.blade.php new file mode 100644 index 0000000..47b1c66 --- /dev/null +++ b/resources/views/orders/create.blade.php @@ -0,0 +1,55 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Create Order') }}
+ +
+
+ @csrf + +
+ + +
+ + + @if ($errors->has('description')) + + {{ $errors->first('description') }} + + @endif +
+
+ +
+ + +
+ + + @if ($errors->has('total_price')) + + {{ $errors->first('total_price') }} + + @endif +
+
+ +
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/users/show.blade.php b/resources/views/users/show.blade.php new file mode 100644 index 0000000..236a49f --- /dev/null +++ b/resources/views/users/show.blade.php @@ -0,0 +1,59 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('User profile') }}
+ +
+
+
{{ __('Name') }}
+
{{ $user->name }}
+
+
+
{{ __('E-Mail Address') }}
+
{{ $user->email }}
+
+
+
+ +
+
+
+

{{ $user->name . __("'s orders" ) }}

+
+ + + + + + + + + + + + @foreach ($user->orders as $order) + + + + + + + @endforeach + +
#DescriptionTotal priceAction
+ {{ $order->id }} + + {{ $order->description }} + {{ $order->total_price }} + Edit + Delete +
+ Create order +
+
+
+@endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 34cc382..f4bab98 100644 --- a/routes/web.php +++ b/routes/web.php @@ -19,10 +19,13 @@ Route::get('/home', 'HomeController@index')->name('home'); -Route::get('/users', 'UsersController@index')->name('users.index'); -Route::get('/users/{user}', 'UsersController@show')->name('users.show'); -Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy'); -Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit'); -Route::post('/users/{user}', 'UsersController@update')->name('users.update'); +Route::middleware('auth')->group(function () { + Route::get('/users', 'UsersController@index')->name('users.index'); + Route::get('/users/{user}', 'UsersController@show')->name('users.show'); + Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy'); + Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit'); + Route::post('/users/{user}', 'UsersController@update')->name('users.update'); -// Route::resource('users', 'UsersController'); \ No newline at end of file + Route::post('/orders', 'OrdersController@store')->name('orders.store'); + Route::get('/orders/create', 'OrdersController@create')->name('orders.create'); +}); From 4457cf8f2d9c57dd19148e9ed86685328dadde45 Mon Sep 17 00:00:00 2001 From: ducanh1296 Date: Fri, 1 Mar 2019 18:55:20 +0700 Subject: [PATCH 3/4] them view test --- resources/views/test.blade.php | 1 + 1 file changed, 1 insertion(+) create mode 100644 resources/views/test.blade.php diff --git a/resources/views/test.blade.php b/resources/views/test.blade.php new file mode 100644 index 0000000..a4fda51 --- /dev/null +++ b/resources/views/test.blade.php @@ -0,0 +1 @@ +dasdffdsfsdfsd \ No newline at end of file From 3dbdc3fe6b758b722a8f759b73889be9c5e4e53d Mon Sep 17 00:00:00 2001 From: ducanh1296 Date: Fri, 1 Mar 2019 19:14:35 +0700 Subject: [PATCH 4/4] Duc Anh test --- resources/views/ducanh.blade.php | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/views/ducanh.blade.php diff --git a/resources/views/ducanh.blade.php b/resources/views/ducanh.blade.php new file mode 100644 index 0000000..e69de29