Laravel5.5 MySQL配置、读写分离及操作

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Laravel 让连接不同数据库以及对数据库进行增删改查操作:

参考:http://laravelacademy.org/post/854.html

配置读写分离

应用的数据库配置位于 config/database.php(但是数据库用户及密码等敏感信息位于 .env 文件)。在该文件中你可以定义所有的数据库连接,并指定哪个连接是默认连接。

'mysql' => ['driver' => 'mysql','read' => ['host' => ['39.107.243.232','39.106.201.242',]],'write' => ['host' => '39.107.243.232'],'port' => env('DB_PORT', '3306'),'database' => env('DB_DATABASE', 'test'),'username' => env('DB_USERNAME', 'root'),'password' => env('DB_PASSWORD', 'aaaa'),'unix_socket' => env('DB_SOCKET', ''),'charset' => 'utf8mb4','collation' => 'utf8mb4_unicode_ci','prefix' => '','strict' => true,'engine' => null,'modes'  => ['ONLY_FULL_GROUP_BY','STRICT_TRANS_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','ERROR_FOR_DIVISION_BY_ZERO','NO_ENGINE_SUBSTITUTION',],
],

Laravel 在读数据时会从提供的 IP 中随机选一个进行连接。目前Lavavel5.5读写分离仅支持单个写连接。

 

使用不同数据库连接:

1. 原生SQL:

$id = 2;
$users = DB::connection('mysql::read')->select('select * from users where id = ?',[$id]);
if( empty($users) )
{print("Record is not exist : id =  $id");return;
}
$users = json_decode(json_encode($users),true);
$user = $users[0];
print($user['name']);
$id = 1;
$user['name'] = 'abce21s';
$affected = DB::update('update users set name=? where id=?', [$user['name'],$id]);
if(true != $affected)
{print("Update data failed! : id = $id");return;
}
print('Update data successful!');
$id = 2;
$user['name'] = 'aaaa';
$affected = DB::insert('insert into users (id, name) values (?, ?)', [$id, $user['name']]);
if(true != $affected)
{print("Update data failed! : id = $id");return;
}
print('Update data successful!');

 

可以强制写到读或者写的数据库中:

$id = 1;
$user['name'] = 'ab1s';
$affected = DB::connection('mysql::read')->update('update users set name=? where id=?', [$user['name'],$id]);
if(true != $affected)
{print("Update data failed! : id = $id");return;
}
print('Update data successful!');
$id = 1;
$user['name'] = '111';
$affected = DB::connection('mysql::write')->update('update users set name=? where id=?', [$user['name'],$id]);
if(true != $affected)
{print("Update data failed! : id = $id");return;
}
print('Update data successful!');

 

2. 查询构建器:

$id = 2;
$user['name'] = 'abcde2';
$affected = DB::connection('mysql::read')->table('users')->where('id', $id)->update(['name' => $user['name']]);
if(true != $affected)
{print("Update data failed! : id = $id");return;
}
print('Update data successful!');
$id = 1;
$user['name'] = '222';
$affected = DB::connection('mysql::write')->table('users')->where('id', $id)->update(['name' => $user['name']]);
if(true != $affected)
{print("Update data failed! : id = $id");return;
}
print('Update data successful!');
$id = 2;
$user['name'] = 'bbb';$affected = DB::connection('mysql::write')->table('users')->insert(['id'=> $id, 'name'=>$user['name']]);
if(true != $affected)
{print("Update data failed! : id = $id");return;
}
print('Update data successful!');

 

3. Eloquent ORM

参考:https://docs.golaravel.com/docs/5.5/eloquent/

 

http://laravelacademy.org/post/8060.html

转载于:https://my.oschina.net/michaelshu/blog/1860578

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

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

相关文章

Kinect开发笔记之八C#实现Kinect声音的追踪

声明:本文中特征多针对Kinect for windows 1.0,新版的Kinect Sensor可能有部分数值或方法有一定变化,请知晓。Kinect的声音来自下方的4个麦克风组成的麦克风阵列。传感器内含数字信号处理器,可以用来强化接受声音的清晰度同时处理…

Nginx常见配置:负载均衡、限流、缓存、黑名单和灰度发布

一、Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y(若不能安装,执行命令yum install epel-release) 2. 启动、停止和重启 service nginx startservice nginx stopservice nginx restart浏览器中 输入服务器的 ip 地址&…

国服服务器_《Minecraft我的世界》第三方服务器的基本储备

今天我想单独来聊一聊Minecraft我的世界第三方服务器的发展。世外荒原玩家作品我来到头条的第一篇文章就发表了一篇我对Minecraft现状的看法,现在国服的状态对老玩家不是很友好。(这不说明国服的运营战略路线是有问题的)因此诞生了一大堆第三方服务器。世外荒原玩家…

Unity中Time.deltaTime的含义及其应用

相信Unity的开发者或者初学者都对Time.deltaTime并不陌生,我们经常会在代码中用到或者看到它,今天去官方的API文档查了一下,感觉它非常有用,所以翻译一下以引导初学者。 原文网址: file:///Applications/Unity/Unity…

unity3d曲线text文本

测试.pngusing System; using System.Collections.Generic;namespace UnityEngine.UI.Extensions {/// <summary>/// Curved text.让文本按照曲线进行显示 【注意对Image的变形 也是可以的】/// 说明&#xff1a; 对Text的操作就和 shadow 和 outline 组件类似。/// <…

HTML 和CSS

1 HTML 介绍1.1 web 服务本质import socket sk socket.socket() sk.bind(("127.0.0.1", 8080))sk.listen(5) while True: conn, addr sk.accept() data conn.recv(8096) conn.send(b"HTTP/1.1 200 OK\r\n\r\n") conn.send(b"<h1>Hello world…

Unity中Quaternion的含义及其使用

官网API文档&#xff1a; file:///Applications/Unity/Unity.app/Contents/Documentation/html/en/ScriptReference/Quaternion.html Quaternion的意思是四元数&#xff0c;用于代表旋转。 它们是紧致的&#xff0c;不会产生万向节死锁并且能够很容易被插值。Unity内使用Quat…

Python PIPEs

2019独角兽企业重金招聘Python工程师标准>>> https://www.python-course.eu/pipes.php https://www.tutorialspoint.com/python/os_pipe.htm 转载于:https://my.oschina.net/zungyiu/blog/1860857

延时消息_Handler的消息延时是怎么实现的

消息延时做了什么特殊处理&#xff1f;是发送延时&#xff0c;还是消息处理延时&#xff1f;延时的精度如何&#xff1f;通常我们使用Handler的消息延时都是调用sendMessageDelayed函数实现的&#xff0c;其中delayMillis是需要延时的毫秒。通过跟踪sendMessageDelayed函数可以…

5月JC学习总结

断剑重铸之日&#xff0c;王者归来之时。为了更美好的明天而战。 五月 悄悄地过了 人儿 不觉中散了 携着一腔热血&#xff1b;来到蛟川 来到机房 微凉的轻风&#xff0c;无声地去了 炽热的骄阳&#xff0c;即将要落了 站在4楼&#xff0c;向窗外眺望&#xff0c;映出的不是夕阳…

4 关卡流 进阶_全息武器全解析,记住4个点全区第一就是你!

实不相瞒&#xff0c;每次看着全息武器糖糖都感觉自己像钢铁侠高端大气上档次&#xff0c;低调奢华有内涵那么问题来了&#xff01;这个全息武器究竟该怎么玩才能成为真正的钢铁侠&#xff1f;我的使命之全息武器【作者&#xff1a;D38激战阿曼——潜龙小生】全息武器在属性增加…

terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::substr

运行时报错&#xff1a; terminate called after throwing an instance of std::out_of_rangewhat(): basic_string::substr&#xff1a;__pos Aborted (core dumped) 内存读取越界。 解释1&#xff1a;for example:const std::string sTest( "test" );sTest.substr…

记一次理想浪漫的毕旅

因为临近毕业离别的氛围和闲散的生活&#xff0c;虽然手头积攒了不少可写的素材和教程&#xff0c;但还是两个月没有在CSDN更新博客。论文答辩之后&#xff0c;我只是每天在宿舍玩玩电脑、打打扑克&#xff0c;唯一让我难受的是&#xff0c;隔几天便送走一位同窗好友。有时甚至…

【渗透过程】嘉缘网站 --测试

声明&#xff1a;本片文章测试网站为测试靶场 信息收集阶段&#xff1a; 首先使用了一些常见的扫描工具&#xff1a;nmap 御剑 使用nmap扫描端口 发现网站开放了 135 139 445 3306 等端口 这里可以看到网站开放了一些危害较高端口&#xff1a;135 225等 使用御剑扫描到一些敏感…

C编程经验总结

Turbo c Return (z);return z; 图形界面的有scanf(“%d ~%d\n”,&~,&~);注意&#xff1a;中间不能有乱的东西 Printf(“~~~ %d~~%d\n”,~,~);这儿可以有乱的东西&#xff0c;一切的提示图形界面多是由它完成 函数&#xff0c;变量一定是有类型 除了函数&#xff08;&am…

文档过期打不开怎么办_标准的产品需求文档在这里!(详细说明版)(2)

接着上篇继续写&#xff0c;上篇请点击标准的产品需求文档在这里&#xff01;(详细说明版)(1)入口已经写完&#xff0c;读此文档的无论是研发人员还是测试都已经知晓此需求需要做的从哪里进入&#xff0c;接下来就是主菜了&#xff0c;进入以后该干嘛。进入以后当然就是新的页面…

day32

udp(用户数据包协议) 高并发(同时有大量客户端访问服务器,服务器处理不过来)​OSI模型中,属于传输层得协议,仅用于不要求可靠性,以及不要求分组顺序且数据量较小的简单传输,力求快​通讯流程类似对讲机 只管发送不管对方是否接收到,甚至不关心对方存在​UDP可以处理多个客户端,…

Macbook全系列详细分析及购机指南

时至今日&#xff0c;极佳的用户体验、强大的功能、独特的设计感、广阔的市场和无可比拟的品牌魅力已经让苹果公司各种电子产品的迅速普及&#xff0c;其中Macbook逐渐被越来越多的人所青睐&#xff0c;尤其是从事一些特定行业的工作者&#xff08;比如IT、电信、互联网以及艺术…

惠普m1005连接电脑步骤_电脑连接电视机详细步骤方法图文

电脑连接电视机有什么好处呢&#xff1f;小编想到了几点&#xff0c;那就是屏幕大&#xff0c;而且可以在电视机上使用网络看到自己想看的剧。还有就是可以更多的人一起做着来看。所以总的来说电脑连接电视机还是好处比较多的。下面我就来告诉你们电脑怎么连接电视机。有的时候…

对程序实施精准手术!阿里安全猎户座实验室首创“自动逆向机器人”

近日举办的看雪安全开发者峰会上&#xff0c;阿里安全猎户座实验室首度向外界展示了最新的研究成果——“自动逆向机器人”。该机器人可以像医生一样“望闻问切”&#xff0c;对程序进行显微镜级别的勘察&#xff0c;并完整“回放”其运作过程&#xff0c;因此&#xff0c;可以…