From 18d2ba4543c05cdaf2981e8bdaf528d98a463ba3 Mon Sep 17 00:00:00 2001 From: Mohd Arief Date: Thu, 17 May 2018 15:13:29 +0800 Subject: [PATCH] input data inside database using seeder --- app/Booking.php | 3 +- app/Http/Controllers/BookingController.php | 25 +++++++++++--- ...18_05_15_075453_create_bookings_table.php} | 10 +++++- ...90646_change_user_id_in_bookings_table.php | 34 +++++++++++++++++++ database/seeds/BookTableSeeder.php | 20 ++++++++++- database/seeds/DatabaseSeeder.php | 4 ++- database/seeds/RateTableSeeder.php | 14 ++++++++ server.php | 4 ++- 8 files changed, 103 insertions(+), 11 deletions(-) rename database/migrations/{2018_04_21_015344_create_bookings_table.php => 2018_05_15_075453_create_bookings_table.php} (75%) create mode 100644 database/migrations/2018_05_15_090646_change_user_id_in_bookings_table.php diff --git a/app/Booking.php b/app/Booking.php index 0ff14d7b..6144528c 100644 --- a/app/Booking.php +++ b/app/Booking.php @@ -7,6 +7,5 @@ use Illuminate\Database\Eloquent\Model; class Booking extends Model { // protected $guarded = []; - // TODO : add term, amount, rate_id (FK), user_id (FK) - protected $fillable = ['account_name', 'account_num', 'bank_name', 'bank_branch', 'company_name', 'company_address', 'bank_address', 'swift_code', 'cnap' ]; + protected $fillable = ['term', 'amount', 'rate_id', 'user_id', 'account_name', 'account_num', 'bank_name', 'bank_branch', 'company_name', 'company_address', 'bank_address', 'swift_code', 'cnap' ]; } diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 1b4bf52c..b7514b28 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -36,23 +36,38 @@ class BookingController extends Controller */ public function store(Request $request) { - $rates = Rate::find(1); + $rates = Rate::all()->last(); $term = $request->input('term'); $rate = 1; switch($term){ - case "x1_cash": + case "x1_cash": $rate = $rates->x1_cash; - break; + break; + case "x1_cheque": + $rate = $rates->x1_cheque; + break; + case "x1_ba": + $rate = $rates->x1_ba; + break; + case "x2_cash": + $rate = $rates->x2_cash; + break; + case "x2_cheque": + $rate = $rates->x2_cheque; + break; + case "x2_ba": + $rate = $rates->x2_ba; + break; default: $rate = "no"; break; } return $rate; - + // return false; //$booking = Booking::create($request->all()); - //return response()->json($booking, 201); + // return response()->json($booking, 201); } diff --git a/database/migrations/2018_04_21_015344_create_bookings_table.php b/database/migrations/2018_05_15_075453_create_bookings_table.php similarity index 75% rename from database/migrations/2018_04_21_015344_create_bookings_table.php rename to database/migrations/2018_05_15_075453_create_bookings_table.php index e03ca6ac..a6a9d74d 100644 --- a/database/migrations/2018_04_21_015344_create_bookings_table.php +++ b/database/migrations/2018_05_15_075453_create_bookings_table.php @@ -23,7 +23,14 @@ class CreateBookingsTable extends Migration $table->string('company_address'); $table->string('bank_address'); $table->string('swift_code'); - $table->string('cnap'); + $table->string('cnap'); + $table->string('term'); + $table->double('amount'); + $table->unsignedInteger('rate_id'); + $table->foreign('rate_id') + ->references('id')->on('rates') + ->onDelete('cascade'); + $table->timestamps(); }); } @@ -36,5 +43,6 @@ class CreateBookingsTable extends Migration public function down() { Schema::dropIfExists('bookings'); + } } diff --git a/database/migrations/2018_05_15_090646_change_user_id_in_bookings_table.php b/database/migrations/2018_05_15_090646_change_user_id_in_bookings_table.php new file mode 100644 index 00000000..8175c68a --- /dev/null +++ b/database/migrations/2018_05_15_090646_change_user_id_in_bookings_table.php @@ -0,0 +1,34 @@ +unsignedInteger('user_id'); + $table->foreign('user_id') + ->references('id')->on('users') + ->onDelete('cascade'); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + + } +} diff --git a/database/seeds/BookTableSeeder.php b/database/seeds/BookTableSeeder.php index 4817a214..a0f1e51f 100644 --- a/database/seeds/BookTableSeeder.php +++ b/database/seeds/BookTableSeeder.php @@ -1,6 +1,7 @@ insert([ + // 'id' => '1', + 'account_name' => 'kazim', + 'account_num' => '1234', + 'bank_name' => 'maybank', + 'bank_branch' => 'rembau', + 'company_name' => 'ICEF', + 'company_address' => 'selangor', + 'bank_address' => 'cyber', + 'swift_code' => 'qwe123', + 'cnap' => '123asd', + 'term' => 'x1', + 'amount' => 1.2, + 'rate_id' => '1', + 'user_id' => '17', + 'created_at' => Carbon::now()->format('Y-m-d H:i:s'), + 'updated_at' => Carbon::now()->format('Y-m-d H:i:s'), + ]); } } diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 3b0563d1..2a2ca345 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -13,7 +13,9 @@ class DatabaseSeeder extends Seeder { $this->call(UsersTableSeeder::class); $this->call(RolesAndPermissionsSeeder::class); - $this->call(RateTableSeeder::class); + // $this->call(RateTableSeeder::class); + $this->call('Database\Seeds\RateTableSeeder'); + $this->call('Database\Seeds\BookTableSeeder'); } } diff --git a/database/seeds/RateTableSeeder.php b/database/seeds/RateTableSeeder.php index 3378c6ad..5a3bd8e0 100644 --- a/database/seeds/RateTableSeeder.php +++ b/database/seeds/RateTableSeeder.php @@ -1,6 +1,7 @@ 1.2, 'x2_cheque' => 1.2, 'x2_ba' => 1.2, + 'created_at' => Carbon::now()->format('Y-m-d H:i:s'), + 'updated_at' => Carbon::now()->format('Y-m-d H:i:s'), + ]); + + DB::table('rates')->insert([ + 'x1_cash' => 1.3, + 'x1_cheque' => 1.3, + 'x1_ba' => 1.3, + 'x2_cash' => 1.3, + 'x2_cheque' => 1.3, + 'x2_ba' => 1.3, + 'created_at' => Carbon::now()->format('Y-m-d H:i:s'), + 'updated_at' => Carbon::now()->format('Y-m-d H:i:s'), ]); } } diff --git a/server.php b/server.php index 20bc389f..5fb6379e 100644 --- a/server.php +++ b/server.php @@ -1,10 +1,12 @@ */ + $uri = urldecode( parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) );