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

Create New Product

@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

Back

Name:

{{ $product->name }}

Details:

{{ $product->detail }}

@endsection

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

@section('content')

Add New Product

Back

@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

Back

@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操作即创建,读取,更新和删除操作,希望对需要的朋友有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365360.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么c++的开源库那么少?

为什么c的开源库那么少&#xff1f; 在开始前我有一些资料&#xff0c;是我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心整理了一份「 C的资料从专业入门到高级教程工具包」&#xff0c;点个关注&#xff0c;全部无偿共享给大家&#xff01;&#xff01;…

页面静态化+过期时间

代码&#xff1a; <?phpHeader("content-type:text/html;charsetUTF-8");$gid $_GET[news_id]0;//商品id$goods_statis_file "goods_file_".$gid.".html";//对应静态页文件$expr 10;//静态文件有效期&#xff0c;秒if(file_exists($goods…

实施动态代理-比较

有时需要拦截某些方法调用&#xff0c;以便每次调用被拦截方法时都执行自己的逻辑。 如果您不属于Java EE的CDI领域&#xff0c;并且不想使用诸如Aspectj之类的AOP框架&#xff0c;那么您将有一个简单而有效的替代方法。 从1.5版开始&#xff0c;JDK附带了类java.lang.reflect…

结构专业规范大全_1.2万篇 建筑行业规范大全套!速来!

应广大站友以及会员用户对建筑规范的要求&#xff0c;我们整理了近几年来国家发布的各个专业的标准、规范、图集&#xff0c;以及全国各地共32个地区的区域标准&#xff0c;总计12000余篇&#xff0c;共计80G的建筑行业规范&#xff01;BIMer自学站将会在一到两个月的之间内相继…

数据库如何进行索引优化

数据库索引 1&#xff0e;什么是索引 在数据库中&#xff0c;索引的含义与日常意义上的“索引”一词并无多大区别&#xff08;想想小时候查字典&#xff09;&#xff0c;它是用于提高数据库表数据访问速度的数据库对象。A&#xff09;索引可以避免全表扫描。多数查询可以仅扫描…

php7如何安装swoole,PHP7如何安装Swoole?

PHP7如何安装Swoole&#xff1f;发布时间&#xff1a;2020-05-19 16:35:02来源&#xff1a;亿速云阅读&#xff1a;135作者&#xff1a;Leah这篇文章给大家分享的是PHP7安装Swoole的详细安装教程&#xff0c;相信大部分人都还不知道怎么安装&#xff0c;为了让大家学会&#xf…

第二章总结

第二章 寄存器 1.CPU概述 一个典型的CPU由运算器、控制器、寄存器等器件组成。 内部总线实现CPU内部各个器件之间的联系。 外部总线实现CPU和主板上其它器件的联系。 2.通用寄存器 8086CPU中&#xff0c;寄存器AX, BX, CX, DX通常用于存放一般性数据&#xff0c;称为通用寄存器…

赞!15个来自 CodePen 的酷炫 CSS 动画效果

CodePen 是一个在线的前端代码编辑和展示网站&#xff0c;能够编写代码并即时预览效果。你在上面可以在线分享自己的 Web 作品&#xff0c;也可以欣赏到世界各地的优秀开发者在网页中实现的各种令人惊奇的效果。 今天这篇文章为大家挑选了15个超炫的 CSS 动画效果的例子&#x…

Java 8 Friday Goodies:新的新I / O API

在Data Geekery &#xff0c;我们喜欢Java。 而且&#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL &#xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 &#xff0c;现在我们觉得是时候开始一个新的博客系列了…

ashly理器4.8软件汉化版_AMD 处理器核心比英特尔多还更便宜?英特尔回应

IT之家 9 月 25 日消息 英特尔已在本月初发布了 11 代酷睿移动处理器&#xff0c;搭载 11 代酷睿的产品最早将在 10 月上市。现在&#xff0c;新浪科技访了英特尔公司中国零售销售集团总经理唐炯&#xff0c;就 11 代酷睿产品进行讨论。在谈到 AMD 处理器比英特尔便宜&#xff…

JAVA比较两个List集合的方法

import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set;public class FindNumber { public static void main(String[] args) { // 注意&#xff1a;一定要使用创建对象…

js 解析php serialize,php如何解析jquery serialize 提交后的数据

客户端通过jquery serialize 提交表单数据$("#submit_survey").click(function(){ $.post(SITE_URLactivity/survey/savesurvey, {data:$(#survey_form).serialize()}, function(response){ if (response.error_code) { infotips(response.msg, $(.submit_tips)); } …

OutOfMemoryError:解决方案反模式

这些年来&#xff0c;我们一直密切关注以OutOfMemoryError消息的不同形式打包的问题。 通过专门的服务&#xff08;例如Google警报&#xff09;&#xff0c;每天就特定关键字的新问题进行摘要&#xff0c;使我们对应用程序因日志中的java.lang.OutOfMemoryError失败而出现的情况…

python在线问卷调查系统源代码_基于Python 练习1情况的在线问卷

Q1. 您每个月的生活费是&#xff1f;(单选题)Q2. 您在职的职位是&#xff1a;(单选题)Q3. 您的家庭背景&#xff1f;(单选题)Q4. 下列哪一个是Python中正确的变量名&#xff1f;()(单选题)A Sprout*1B 1SproutC Sprout 1D Sprout_1Q5. Turtle 中的 Write 命令是用来做什么的 ()…

leetcood学习笔记-58-最后一个单词的长度

题目描述&#xff1a; 第一次解答&#xff1a; class Solution:def lengthOfLastWord(self, s: str) -> int:Ls.strip().split(" ")if L[-1]"" :return 0return len(L[-1]) 优化后&#xff1a; class Solution:def lengthOfLastWord(self, s: str) ->…

Plyr – 简单,灵活的 HTML5 媒体播放器

Plyr 是一个简单的 HTML5 媒体播放器&#xff0c;包含自定义的控制选项和 WebVTT 字幕。它是只支持现代浏览器&#xff0c;轻量&#xff0c;方便和可定制的媒体播放器。还有的标题和屏幕阅读器的全面支持。 在线演示 源码下载 您可能感兴趣的相关文章网站开发中很有用的 …

第一章 SpringBoot快速入门

1.1、包依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.14.RELEASE</version><relativePath/> <!-- lookup parent from repository --> …

使用Redis的简单消息队列

在本文中&#xff0c;我们将使用列表命令将Redis用作简单的消息队列。 假设我们有一个允许用户上传照片的应用程序。 然后在应用程序中&#xff0c;我们以不同大小显示照片&#xff0c;例如Thumb&#xff0c;Medium和Large。 在第一个实现中&#xff0c;我们可以承担在同一请…

solaris配置php,Solaris下安装Oracle_启动Oracle及监听

无论是在Linux下还是在Solaris下都安装过很多次Oracle&#xff0c;几乎都没成功过。最开始安装的时候连安装页面都见不到&#xff0c;后来&#xff0c;能够看到安无论是在Linux下还是在Solaris下都安装过很多次Oracle&#xff0c;几乎都没成功过。最开始安装的时候连安装页面都…

python es 数据库 ik_Linux系统:centos7下搭建ElasticSearch中间件,常用接口演示

一、中间件简介1、基础概念ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎&#xff0c;基于RESTful web接口。Elasticsearch是用Java开发的&#xff0c;并作为Apache许可条款下的开放源码发布&#xff0c;是当前流行的企业级搜索引擎…