curd操作php代码,Laravel 5.6中的CURD操作(代码示例详解)

在本篇文章中,我将给大家分享laravel 5.6版本中的基本crud(创建,读取,更新和删除)应用程序模块。你可以按照下面的步骤在laravel 5.6中创建CRUD应用程序。

890d2ff40bf3ca6e7057fb4f78f82a51.png

Laravel是一个流行的开源PHP MVC框架,具有许多高级开发功能。如果你是laravel 5.6应用程序中的学习者或初学者,更多地了解或学习crud应用程序总是有很大帮助的。(相关laravel视频教程:《最新laravel商城实战视频教程》)

下面我将创建insert(插入)、update(更新)、delete(删除)和view(查看)和产品的分页示例。你只需创建新产品,查看产品,编辑产品并从列表中删除产品即可。

第1步:安装Laravel 5.6

可以在终端中运行 create-project 命令来安装 Laravel:composer create-project --prefer-dist laravel/laravel blog

第2步:数据库配置

完成安装后,我们将为laravel 5.6的crud应用程序进行数据库配置,例如数据库名称,用户名,密码等。所以,让我们打开.env文件并填写相关信息,如下:

.envDB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=here your database name(blog)

DB_USERNAME=here database username(root)

DB_PASSWORD=here database password(root)

第3步:创建产品表和模型

我们将为产品创建crud应用程序。所以我们必须使用Laravel 5.6 php artisan命令创建产品表的迁移(migrations),首先使用以下命令:php artisan make:migration create_products_table --create=products

在执行此命令之后,你可以在路径database/migrations中找到一个文件,并且必须将以下代码放在migrations文件中以用于创建products表。<?php

use Illuminate\Support\Facades\Schema;

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Database\Migrations\Migration;

class CreateProductsTable extends Migration

{

/**

* Run the migrations.

*

* @return void

*/

public function up()

{

Schema::create('products', function (Blueprint $table) {

$table->increments('id');

$table->string('name');

$table->text('detail');

$table->timestamps();

});

}

/**

* Reverse the migrations.

*

* @return void

*/

public function down()

{

Schema::dropIfExists('products');

}

}

第4步:添加resource路由

在这个步骤中,我们需要为产品crud应用添加resource路由。所以打开routes / web.php文件并添加以下路由。

routes/web.phpRoute::resource('products','ProductController');

第5步:创建ProductController

现在,我们应该创建一个新的控制器ProductController。因此要运行以下命令并创建新的控制器。下面的控制器用于创建resource控制器。

创建ProductControllerphp artisan make:controller ProductController --resource --model=Product

在下面的命令之后,你将在这个路径app/Http/Controllers/ProductController.php中找到新的文件。

在这个控制器中,默认情况下将创建7个方法如下所示:

1)index()

2)create()

3)store()

4)show()

5)edit()

6)update()

7)destroy()

因此,让我们复制下面的代码并将其放到ProductController.php文件中。

app/Http/Controllers/ProductController.php<?php

namespace App\Http\Controllers;

use App\Product;

use Illuminate\Http\Request;

class ProductController extends Controller

{

/**

* Display a listing of the resource.

*

* @return \Illuminate\Http\Response

*/

public function index()

{

$products = Product::latest()->paginate(5);

return view('products.index',compact('products'))

->with('i', (request()->input('page', 1) - 1) * 5);

}

/**

* Show the form for creating a new resource.

*

* @return \Illuminate\Http\Response

*/

public function create()

{

return view('products.create');

}

/**

* Store a newly created resource in storage.

*

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

*/

public function store(Request $request)

{

request()->validate([

'name' => 'required',

'detail' => 'required',

]);

Product::create($request->all());

return redirect()->route('products.index')

->with('success','Product created successfully.');

}

/**

* Display the specified resource.

*

* @param \App\Product $product

* @return \Illuminate\Http\Response

*/

public function show(Product $product)

{

return view('products.show',compact('product'));

}

/**

* Show the form for editing the specified resource.

*

* @param \App\Product $product

* @return \Illuminate\Http\Response

*/

public function edit(Product $product)

{

return view('products.edit',compact('product'));

}

/**

* Update the specified resource in storage.

*

* @param \Illuminate\Http\Request $request

* @param \App\Product $product

* @return \Illuminate\Http\Response

*/

public function update(Request $request, Product $product)

{

request()->validate([

'name' => 'required',

'detail' => 'required',

]);

$product->update($request->all());

return redirect()->route('products.index')

->with('success','Product updated successfully');

}

/**

* Remove the specified resource from storage.

*

* @param \App\Product $product

* @return \Illuminate\Http\Response

*/

public function destroy(Product $product)

{

$product->delete();

return redirect()->route('products.index')

->with('success','Product deleted successfully');

}

}

OK,运行下面命令后,你会找到app/Product.php,并将下面的内容放入Product.php文件中:

app/Product.php<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Product extends Model

{

/**

* The attributes that are mass assignable.

*

* @var array

*/

protected $fillable = [

'name', 'detail'

];

}

第6步:创建Blade文件

现在我们进入最后一步。在这一步中,我们只需要创建blade文件。所以我们主要需要创建布局文件,然后创建新的文件夹“products”,然后创建crud app的blade文件。最后需要创建以下blade文件:

1) layout.blade.php

2) index.blade.php

3) show.blade.php

4) form.blade.php

5) create.blade.php

6) edit.blade.php

让我们创建下面的文件,并放入下面的代码。

resources/views/products/layout.blade.php

Laravel 5.6 CRUD Application

@yield('content')

resources/views/products/index.blade.php@extends('products.layout')

@section('content')

Laravel 5.6 CRUD Example from scratch

@if ($message = Session::get('success'))

{{ $message }}

@endif

NoNameDetailsAction

@foreach ($products as $product)

{{ ++$i }}{{ $product->name }}{{ $product->detail }}

Show

Edit

@csrf

@method('DELETE')

Delete

@endforeach

{!! $products->links() !!}

@endsection

resources/views/products/show.blade.php@extends('products.layout')

@section('content')

Show Product

Name:

{{ $product->name }}

Details:

{{ $product->detail }}

@endsection

resources/views/products/create.blade.php@extends('products.layout')

@section('content')

Add New Product

@if ($errors->any())

Whoops! There were some problems with your input.

@foreach ($errors->all() as $error)

{{ $error }}

@endforeach

@endif

@csrf

Name:

Detail:

Submit

@endsection

resources/views/products/edit.blade.php@extends('products.layout')

@section('content')

Edit Product

@if ($errors->any())

Whoops! There were some problems with your input.

@foreach ($errors->all() as $error)

{{ $error }}

@endforeach

@endif

@csrf

@method('PUT')

Name:

Detail:

{{ $product->detail }}

Submit

@endsection

现在,我们准备运行我们的crud应用程序的例子,所以运行以下命令快速运行:php artisan serve

最后你就可以在浏览器上打开下面的网址进行查看测试:http://localhost:8000/products

本篇文章就是关于Laravel 5.6中的CURD操作即创建,读取,更新和删除操作,希望对需要的朋友有所帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值