PHP开发框架Laravel数据库操作方法总结,框架laravel
一、读/写连接
有时您可能希望使用一个SELECT语句的数据库连接,,另一个用于插入、更新和删除语句。Laravel使这微风,将始终使用正确的连接是否使用原始查询,查询生成器或雄辩的ORM。
如何读/写连接应该配置,让我们看看这个例子:
'mysql' => array('read' => array('host' => '192.168.1.1'),'write' => array('host' => '196.168.1.2'),'driver' => 'mysql','database' =>'database','username' => 'root','password' => '','charset' => 'utf8','collation' => 'utf8_unicode_ci','prefix' => '')
注意,两个键添加到配置阵列:读和写。这两个键有数组值包含一个关键:主机。其余的读写数据库选项从主mysql连接将合并后的数组。所以,我们只需要将物品放入读取和写入数组如果我们希望覆盖主要数组中的值。所以,在这种情况下,192.168.1.1将被用作“读”连接,while192.168.1.2将被用作“写”连接。数据库凭证、前缀、字符集和所有其他选项在主mysql数组将跨两个共享连接。
二、运行查询
一旦你已经配置了数据库连接,你可以使用DB运行查询类。
运行一个Select查询
$results = DB::select('select * from users where id = ?', array(1));
结果的选择方法总是返回一个数组。
运行一个Insert语句
DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
运行一个更新语句
DB::update('update users set votes = 100 where name = ?', array('John'));
运行一个Delete语句
DB::delete('delete from users');
注意:update和delete语句返回的行数的影响操作。
运行一个通用声明
DB::statement('drop table users');
查询事件监听
你可以查询事件监听使用DB::听方法:
DB::listen(function($sql, $bindings, $time){ //});
三、数据库事务
运行在一个数据库事务的一组操作,您可以使用事务方法:
DB::transaction(function(){ DB::table('users')->update(array('votes'
=> 1)); DB::table('posts')->delete();});
注意:在事务抛出的任何异常关闭将导致自动事务将回滚
有时你可能需要开始一个事务:
DB::beginTransaction();
你可以通过回滚事务回滚方法:
DB::rollback();
最后,您可以通过提交方法:提交一个事务
DB::commit();
四、访问连接
当使用多个连接,你可以访问它们通过DB::连接方法:
$users = DB::connection('foo')->select(...);
你也可以访问原始的、潜在的PDO实例:
$pdo = DB::connection()->getPdo();
有时你可能需要重新连接到一个给定的数据库:
DB::reconnect('foo');
如果你需要断开从给定的数据库将超过底层PDO实例'smax_connections限制,使用断开连接方法:
DB::disconnect('foo');
五、查询日志
默认情况下,Laravel日志保存在内存的所有查询运行当前的请求。然而,在某些情况下,例如当插入的行数,这可能会导致应用程序使用多余的内存。禁用日志,你可以使用disableQueryLog方法:
DB::connection()->disableQueryLog();
o得到一组执行的查询,您可以使用getQueryLog方法:
$queries = DB::getQueryLog();
280907494 开发群,群里很多搞这个的。
你去下个dedecms

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增强codemodocultion,可验证性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

选择DependencyInjection(DI)用于大型应用,ServiceLocator适合小型项目或原型。1)DI通过构造函数注入依赖,提高代码的测试性和模块化。2)ServiceLocator通过中心注册获取服务,方便但可能导致代码耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)启用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替换loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化进行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

tomakephpapplicationsfaster,关注台词:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

依赖注入(DI)通过显式传递依赖关系,显着提升了PHP代码的可测试性。 1)DI解耦类与具体实现,使测试和维护更灵活。 2)三种类型中,构造函数注入明确表达依赖,保持状态一致。 3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

databasequeryOptimizationinphpinvolVolVOLVESEVERSEVERSTRATEMIESOENHANCEPERANCE.1)SELECTONLYNLYNESSERSAYCOLUMNSTORMONTOUMTOUNSOUDSATATATATATATATATATATRANSFER.3)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver Mac版
视觉化网页开发工具

Dreamweaver CS6
视觉化网页开发工具

SublimeText3汉化版
中文版,非常好用