php larval 数据库when,Laravel DB类操作数据库

Laravel DB类操作数据库

laravel支持的数据库类型

MySQL

Pgsql

SQLite

SQL Server

laravel操作数据库所使用的扩展 pdo,一定要开启pdo扩展

配置连接数据库信息

在laravel中修改连接数据库的文件有两处

修改 .env文件

修改config/database.php文件。

laravel5.4之后对我们的数据库的编码就进行了默认改变,默认使用 utf8mb4

创建数据库

修改.env文件来连接数据库

通过配置后,发现,如果我们的数据表有前缀的话,在.env文件中不能去设置

到此我们的数据库的配置就完成了

注:表前缀,如果有则添加,没有可以不修改。

检查是否配置好

DB类执行原生SQL语句

// 添加操作

$ret = DB::insert('insert into test_member (name,age,email) values (:name,:age,:email)', [':name'='张三',':age'=20,':email'='admin@admin.com']);

// 修改操作

$ret = DB::update('update test_member set age=:age where id=:id', [':age' = 12, ':id' = 1]);

// 查询 select

# 查询单条

$ret = DB::selectOne("select * from web64_user where id=:id",[':id'=$id]);

# 查询多条

$ret = DB::select("select * from web64_user");

// 删除操作

$ret = DB::delete("delete from test_member where id=:id",[':id'=1]);

定义路由

创建控制器

php artisan make:controller MydbController

数据表

控制器

DB构建器操作数据库

查询(get/first)

table(表名),这里的表名,如查有前缀不用写。

# 查询多条 get all

# all不可以接where条件

// 查询所有无条件

$data = DB::table('user')-get(); // 默认 [‘*’]

// 查询所有,并指定字段 推荐使第一种方式

$data = DB::table('user')-get(['name','age']);

// 获取ID大于5的数据

$ret = DB::table('member')-where('id','=',5)-get();

// when 来进行条件的搜索

$kw = $request-get('kw','user');

// when字段 如果为真则执行匿名函数中的操作

$ret = DB::table('users')-when($kw,function (Builder $query) use ($kw){

$query-where('username','like',"%{$kw}%");

})-get();

# 查询单条记录

$ret = DB::table('member')-where('id', 5)-first();

# 获取某个具体的值

$ret = DB::table('member')-where('id',5)-value('name');

# 获取一列数据

$ret = DB::table('member')-pluck('name');

# 以ID为下标 name为值

$ret = DB::table('member')-pluck('name', 'id');

# 排序操作

$ret = DB::table('member')-orderBy('id','desc')-get();

# 查询总记录数

echo DB::table('member')-count();

# 分页获取数据

$ret = DB::table('member')-orderBy('id','desc')-offset(0)-limit(2)-get();

limit:表示限制输出的条数

offset:从什么地方开始,起始从0开始

$ret = DB::table('users')-whereIn('id',[2,3,5])-get()

$ret = DB::table('users')-whereBetween('id',[3,5])-get();

定义路由

控制器

添加数据操作(insert/ insertGetId)

对数据库中的某个表增加数据主要有两个方法可以实现,分别是insert()和insertGetId()

insert() 可以同时添加一条或多条,返回值是布尔类型。

insertGetId() 只能添加一条数据,返回自增的id。

// 添加数据

$ret = DB::table('member')-insert([

'name' = '张三丰',

'age' = 50,

'email' = 'ee@ee.com'

]);

// 添加数据并得到插入时的ID值

$id = DB::table('member')-insertGetId([

'name' = '小华',

'age' = 60,

'email' = 'ff@ff.com'

]);

// 添加多条记录

$ret = DB::table('member')-insert([

['name'='AAAA','age'=20,'email'='111@111.com'],

['name'='BBBB','age'=30,'email'='222@222.com'],

]);

修改数据(update)

$ret = DB::table('member')-where('id', 2)-update([

'name' = '修改一下',

'age' = 50

]);

删除数据(delete)

// 删除数据

$ret = DB::table('member')-where('id',2)-delete();

Laravel DB类操作数据库 相关文章

「Groovy」- 操作 HTML 文档 @20210209

问题描述 在 Jenkins Pipeline 中,我们需要对 HTML 文档进行多种操作。之前使用 XMLParser 及 XMLSlurper 库操作 HTML 文档时遇到很多问题,因为 HTML 文档结构松散(比如没有结束标签等等),不是标准的 XML 文件,因此导致 XML 解析失败。 该笔记将整理:

Laravel 视图

视图的用途是用来存放应用程序中 HTML 内容,并且能够将你的控制器层与展示层分开。 我们在控制器中使用助手函数【 view() 】来加载视图模板。 视图目录位置与命名 分配数据到模板 view(模板文件名称,关联数组)view(模板文件名称,compact('变量名1','变量名2

Laravel 表单验证

参考: https://learnku.com/docs/laravel/5.6/validation/1372 表单验证是为了防止访问者跳过客户端验证而造成的系统安全问题,一但非法用户绕过客户端验证而服务器端没有加以验证,这样就是很不安全了,所以项目必须要进行服务器端表单验证。 Laravel 提供

querydsl使用说明( jira插件里,查询数据的时候,可以使用jira内置的querydsl或者官方封装的工具包atlassian-pocketknife-querydsl来实现jira数据库表和插件表的联合查询)

概述 在jira插件开发过程中,数据库表的创建和数据的增删改查操作是使用ActiveObject模块完成的。但是,ao模块只能操作插件生成的表,无法和jira的内置表做关联查询操作。 然而作为jira的插件,很多时候,数据是需要和jira的数据进行关联查询的。 jira内置的

【Azure Redis 缓存】遇见Azure Redis不能创建成功的问题:至少一个资源部署操作失败,因为 Microsoft.Cache 资源提供程序未注册。

问题描述 在中国区微软云上创建Redis失败。收到的错误消息为: { "code": "DeploymentFailed", "message": "至少一个资源部署操作失败。请列出部署操作显示详细信息。有关用法详细信息,请参阅 https://aka.ms/DeployOperations。", "details": [ { "code":

力扣

原题 以下是我的代码,就是简单的字符串操作,ac但背离了题目,因为我之前没接触过trie 1 class Trie: 2 3 def __init__(self): 4 """ 5 Initialize your data structure here. 6 """ 7 self.trie = set() 8 9 def insert(self, word: str) - None:10 """11

使用python+flask 搭建web 项目(一) :操作本地mysql数据库

一、 先安装Mysql 到本地: 安装,配置,创建用户名,密码 设置端口号后 待创建链接时使用; 二、安装PyCharm(这个编辑器写python 比较方便); 配置环境变量; 三、进行项目创建 1. 打开pycharm,创建flask项目: File --New Project.. --- 网上的资料上大

判断字节字数

首先要明确的是在我们写入到数据库db中的字段的长度varchar(10),这个10是代表是十个字节 1字节(Byte)=8字位bai=8个二du进制zhi数1字位(bit)=1个二进制数1B=8b1KB=1024B1MB=1024KB1GB=1024MB 通常情况下,把baiB称为字节、b称为字位、KB称为千字节、MB称

CompletionService--实现take和poll的并行操作

CompletionService实际上可以看做是Executor和BlockingQueue的结合体。CompletionService在接收到要执行的任务时,通过类似BlockingQueue的put和take获得任务执行的结果。 CompletionService的一个实现是ExecutorCompletionService,ExecutorCompletionServi

Python3 并发编程之进程操作

运行中的程序就是一个进程。所有的进程都是通过它的父进程来创建的。因此,运行起来的python程序也是一个进程,那么我们也可以在程序中再创建进程。多个进程可以实现并发效果。 1.multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值