打算使用laravel现有的数据库上做开发,会有哪些坑

打算使用laravel现有的数据库上做开发,会有哪些坑,第1张

task copyFileToProject2(type: Copy) {

from('build/intermediates/bundles/debug/')

into("$rootProject.projectDir/sdk_demo_online/libs/")

include('classes.jar')

rename('classes.jar', 'xiaoi_sdk.jar')

}

配置完数据库连接,就可以使用DB类进行查询了。

查询

$results = DB::select('select * from users where id = ?', array(1))

select方法会以数组形式返回查询结果。

插入

DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'))

更新

DB::update('update users set votes = 100 where name = ?', array('John'))

删除

DB::delete('delete from users')

注意:update和delete语句返回受影响的行数。

通用语句

DB::statement('drop table users')

监听Query事件

DB::listen(function($sql, $bindings, $time)

{

//

})

数据库事务

DB::transaction(function()

{

DB::table('users')->update(array('votes' =>1))

DB::table('posts')->delete()

})

注意:transaction闭包中的任何异常将会导致事务自动回滚。

有时候也许你想自己开启事务:

DB::beginTransaction()

你也可以自己回滚事务:

DB::rollback()

最后,你可以通过commit方法提交事务:

DB::commit()

多个数据库连接访问

当使用多个数据库连接时,可以通过DB::connection方法访问它们:

$users = DB::connection('foo')->select(...)

你可以通过PDO实例访问原生连接:

$pdo = DB::connection()->getPdo()

有时候你需要重连数据库:

DB::reconnect('foo')

如果因为超出PDO实例的最大连接数限制而要断开连接,使用disconnect方法:

DB::disconnect('foo')

查询日志

默认情况下,Laravel使用日志记录当前请求的所有数据库查询 *** 作,但是某些时候,比如插入大量数据,会引起应用使用过量内存。为了关闭日志,可以使用disableQuery方法:

DB::connection()->disableQueryLog()

获取查询日志记录,可以用过getQuery方法:

$queries = DB::getQueryLog()

Laravel鼓励敏捷、迭代的开发方式,我们没指望在第一次就获得所有正确的。相反,我们编写代码、测试和与我们的最终用户进行交互,并完善我们的理解。

对于工作,我们需要一个配套的实践集。我们使用像subversion、GIT或Mercurial这些版本控制工具来存储应用程序的源代码文件,使我们能够撤消错误和追踪开发过程中的改变。

但应用程序更改时,存在我们不能单独使用版本控制进行有效管理的区域。在我们的开发进度中,Laravel应用程序的数据库架构不断演变:我们在这里添加了一个表,在那里重命名列,删除索引等等。数据库的改变与应用程序代码步调一致。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10016653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存