Jednoduchý e-shop Laravel 5.1 část 1
UPDATE: Začala jsem novy seriál Jednoduchý e-shop Laravel 5.3
Mám ráda framework Laravel, hlavně díky existenci spoustu návodů, což je pro samouka ideální byť většina z nich se samozřejmě anglicky psaná. Tak jsem si tak jednou večer v rámci toho, abych se trochu procvičila, řekla, že napíšu jednoduchý e-shop. Ano bude dost primitivní, takže nic pro ostřílené borce programátory.
Takže začneme jako vždy čistou instalací
1 |
composer create-project laravel/laravel --prefer-dist larashop |
vytvoříme si databázi a nastavíme pro laravel připojení k databázi. Samozřejmě otestuji , zda mi funguje. Tak a začnu vytvořením tabulek v databázi a připravím si pro ně migration soubory.
1 2 3 4 |
php artisan make:migration create_categories_table php artisan make:migration create_products_table php artisan make:migration create_orders_table php artisan make:migration create_order_items_table |
Eshop bude mít pro jednotlivé zboží i kategorie takže
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public function up() { Schema::create('categories', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('slug'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('categories'); } |
migration pro jednotlivé produkty v eshopu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public function up() { Schema::create('products', function (Blueprint $table) { $table->increments('id'); $table->integer('category_id'); $table->string('name'); $table->text('description'); $table->string('slug'); $table->decimal('price',10,2); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('products'); } |
objednávky
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public function up() { Schema::create('orders', function (Blueprint $table) { $table->increments('id'); $table->integer('user_id'); $table->string('status'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('orders'); } |
položky v objednávce
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public function up() { Schema::create('order_items', function (Blueprint $table) { $table->increments('id'); $table->integer('order_id'); $table->integer('product_id'); $table->integer('quantity'); $table->decimal('price',10,2); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('order_items'); } |
informace o objednateli
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
public function up() { Schema::create('customers', function (Blueprint $table) { $table->increments('id'); $table->string('firstname'); $table->string('lastname'); $table->string('street'); $table->string('city'); $table->string('psc'); $table->string('email'); $table->string('phone'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('customers'); } |
to prozatím asi narozjezd bude stačit a můžeme dát oblíbené
1 |
php artisan migrate |