laravel5.4做商品修改

隨著電商的發展,商品展示對于電商網站的重要性越來越突出。為了滿足商家的需求,網站需要打造一個好的商品展示頁面,也需要實現方便的商品管理系統。在本文中,將探討如何使用 laravel 5.4 來實現一個商品管理系統的修改功能。

前置知識

在開始之前,我們需要掌握 Laravel 框架和 Blade 模板的基礎知識。

  1. Laravel 介紹

Laravel 是一個免費的開源 php Web 框架,使用 PHP 語言編寫,基于 mvc 模式(Model – View – Controller)設計。Laravel 框架提供了許多工具和函數,以實現具有高效性和可擴展性的 Web 應用程序。

  1. Blade 模板介紹

Blade 是 Laravel 的模板引擎,是基于 PHP Blade 構建的。 Blade 模板支持擴展,允許您使用默認布局、節省重復的代碼,并可以輕松地與后端數據交互。

開始實現商品修改

在實現商品修改前,我們需要確保已經配置好 Laravel 環境和數據庫連接。接下來,我們將使用 Laravel 的模型來將商品數據作為對象處理。

  1. 創建商品模型

在 Laravel 中,模型被用于與數據庫的交互。通過 creating 事件和 saved 事件處理函數,我們可以在保存前和保存后執行某些操作。

首先,在 Laravel 的命令行中執行以下命令創建一個新的模型:

php artisan make:model Product

接下來,我們需要在模型中定義表名和可填充屬性。修改 app/Product.php 文件如下:

<?php namespace App;  use IlluminateDatabaseEloquentModel;  class Product extends Model {     protected $table = 'products';      protected $fillable = ['name', 'description', 'price', 'image']; }

在這個模型中,我們定義了表名為 products,可填充(mass-assignable)屬性為 name、description、price 和 image。

  1. 創建商品控制器

在 Laravel 中,控制器是用于處理 http 請求的類,可以將用戶請求指定給恰當的方法并返回 HTTP 響應。我們需要創建一個控制器并添加方法來處理商品的修改操作。

在命令行中執行以下命令生成一個新的控制器:

php artisan make:controller ProductController --Resource

這個命令會在 app/Http/Controllers 目錄下創建一個 ProductController.php 文件,并為我們生成基本的 restful 資源方法(index、create、store、show、edit、update、destroy)。

我們將在控制器添加一個 edit 方法來展示商品修改表單,一個 update 方法來處理表單數據和保存更新后的商品信息。

修改 app/Http/Controllers/ProductController 的代碼如下:

<?php namespace AppHttpControllers;  use IlluminateHttpRequest; use AppProduct;  class ProductController extends Controller {     public function edit($id)     {         $product = Product::findOrFail($id);         return view('products.edit', compact('product'));     }      public function update(Request $request, $id)     {         $product = Product::findOrFail($id);         $product->update($request-&gt;all());          return redirect('/products');     } }

在 edit 方法中,我們查詢指定 ID 的商品并將其傳遞給視圖,視圖將渲染商品信息和提供一個修改表單。在 update 方法中,我們更新商品信息并重定向到商品列表頁面。

  1. 創建商品修改表單

在 Laravel 中,可以使用 Blade 模版引擎來創建 Web 頁面。 下面我們將創建一個視圖來讓用戶修改商品信息。

創建 resources/views/products/edit.blade.php 文件,添加以下代碼:

{!! Form::model($product, ['method'=&gt;'PATCH', 'action'=&gt;['ProductController@update', $product-&gt;id], 'files'=&gt;true]) !!}  <div class="form-group">     {!! Form::label('name', '商品名稱') !!}     {!! Form::text('name', null, ['class'=&gt;'form-control']) !!} </div>  <div class="form-group">     {!! Form::label('description', '商品描述') !!}     {!! Form::text('description', null, ['class'=&gt;'form-control']) !!} </div>  <div class="form-group">     {!! Form::label('price', '商品價格') !!}     {!! Form::text('price', null, ['class'=&gt;'form-control']) !!} </div>  <div class="form-group">     {!! Form::label('image', '商品圖片') !!}     {!! Form::file('image') !!} </div>  <div class="form-group">     {!! Form::submit('保存', ['class'=&gt;'btn btn-primary']) !!} </div>  {!! Form::close() !!}

在這個模板中,我們使用了 Laravel 的 Form Builder 生成表單元素。在模板中,我們使用了 $product 對象來渲染商品信息,通過 Form::model() 方法將表單與模型對象綁定起來,并將提交數據的請求方法設置為 PATCH。

在表單中,我們定義了商品的名稱、描述、價格和圖片字段,同時還設置了保存按鈕。當用戶提交表單后,數據將提交到商品的 update 方法中。

  1. 路由設置

在 Laravel 中,路由是用于匹配 URL 和控制器方法的機制。我們需要為 edit 和 update 方法添加路由規則。

打開 routes/web.php 文件,添加以下代碼:

Route::resource('products', 'ProductController');  Route::get('products/{id}/edit', 'ProductController@edit')-&gt;name('products.edit');  Route::patch('products/{product}', 'ProductController@update')-&gt;name('products.update');

在這個代碼片段中,我們使用資源控制器的 Route::resource 方法創建了商品的 RESTful 資源路由。接著,我們為 edit 方法和 update 方法分別添加了路由規則,允許我們在瀏覽器中通過相應的 URL 來訪問這些方法。

完成以上操作后,我們就可以在瀏覽器中訪問 /products/{id}/edit 的頁面,對商品進行修改了。

小結

在本文中,我們詳細介紹了如何使用 Laravel 5.4 框架來實現商品的修改功能。

通過創建商品模型和控制器、創建商品修改表單以及添加路由設置,我們成功地創建了一個基于 Laravel 的商品管理系統,并且可以方便地進行商品的修改和管理。

Laravel 框架的快速開發能力和 Blade 模板引擎的靈活性,讓開發者可以輕松構建出一個方便易用、全功能的 Web 應用程序。強烈推薦使用 Laravel 5.4 開發電商 Web 應用程序,以便為廣大用戶提供更好的體驗。

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享