关于laravel数据库问题
2016-04-07 00:00
337 查看
摘要: 与师傅关于laravel数据库的一些问答
我现在使用:
1)$get_infos = DB::table('game_info')->where('type',$type)->skip($last)->take(3)->get();
2)$get_gjfz_infos =DB::select('select game_info.* from game_info where type = "1" limit 0,3);
这些语法去每次三行读取数据。
问题1.当剩余数据量不足三条时,怎样让他读取剩余数据而不是直接报错?我想到的一种办法是直接写sql语句,先计算一下全部数据条数,每次取的时候再计算一下剩余条数,但这样又复杂效率又不高。框架有没有方便的方法支持?
问题2.2)中想在sql语句中嵌个变量该怎么写,比如把type=‘1’换成type=$type?还是说只能通过1)式那种语法实现?
问题3.laravel文档中对于数据库操作的get()、first()等等方法都找不到详细的介绍,用的不明不白,有什么其他资料介绍到吗?
问题4.怎么让数据库查询不到或者错误时让它抛出异常,也就是说有没有类似于php中echo mysqli_error($mysqli);这样的方法,把错误返回到视图中好让我调试,现在数据库出错时,视图上就报个500的错,由于用post方法要想直接访问链接调试php还得把路由改回get,调试很困难。
其实好像这四个问题都可以归于问题(3)..
回答:
通常写原生SQL
DB::select(‘SELECT … type = ?’, array($type))
get返回对象数组,first返回对象。Laravel的文档就是这样的,我也不知道有什么好的资料。但是仔细看,需要知道的东西文档其实都有,只是它不愿意多写一个字。
你是在本地调试还是在服务器?你应该有权限访问log吧,在app/storage/logs/laravel.log。如果那个文件没有log,log就在Web服务器一层,即Apache或Nginx的log。500错误通常在Web服务器一层的log,这通常是PHP文件语法有错,PHP本身不能处理。而PHP能处理的错误会显示在屏幕(如果app/config.php:debug: true)或显示Ooops. Something wrong…之类
我现在使用:
1)$get_infos = DB::table('game_info')->where('type',$type)->skip($last)->take(3)->get();
2)$get_gjfz_infos =DB::select('select game_info.* from game_info where type = "1" limit 0,3);
这些语法去每次三行读取数据。
问题1.当剩余数据量不足三条时,怎样让他读取剩余数据而不是直接报错?我想到的一种办法是直接写sql语句,先计算一下全部数据条数,每次取的时候再计算一下剩余条数,但这样又复杂效率又不高。框架有没有方便的方法支持?
问题2.2)中想在sql语句中嵌个变量该怎么写,比如把type=‘1’换成type=$type?还是说只能通过1)式那种语法实现?
问题3.laravel文档中对于数据库操作的get()、first()等等方法都找不到详细的介绍,用的不明不白,有什么其他资料介绍到吗?
问题4.怎么让数据库查询不到或者错误时让它抛出异常,也就是说有没有类似于php中echo mysqli_error($mysqli);这样的方法,把错误返回到视图中好让我调试,现在数据库出错时,视图上就报个500的错,由于用post方法要想直接访问链接调试php还得把路由改回get,调试很困难。
其实好像这四个问题都可以归于问题(3)..
回答:
通常写原生SQL
DB::select(‘SELECT … type = ?’, array($type))
get返回对象数组,first返回对象。Laravel的文档就是这样的,我也不知道有什么好的资料。但是仔细看,需要知道的东西文档其实都有,只是它不愿意多写一个字。
你是在本地调试还是在服务器?你应该有权限访问log吧,在app/storage/logs/laravel.log。如果那个文件没有log,log就在Web服务器一层,即Apache或Nginx的log。500错误通常在Web服务器一层的log,这通常是PHP文件语法有错,PHP本身不能处理。而PHP能处理的错误会显示在屏幕(如果app/config.php:debug: true)或显示Ooops. Something wrong…之类
相关文章推荐
- Laravel入门:MVC框架
- 后处理Bean(BeanPostProcessor接口)
- PHP中的抽象类跟接口
- 学习PHP不知道该怎么办?借鉴一下资深PHP大牛的方法吧!
- PHP中new static()与new self()的区别异同分析
- PHPStorm使用指南
- u-boot-2016.03 支持yaffs2文件系统烧写之添加nand write.yaffs2命令
- php之函数
- php类库
- PHP语言 -- 面向对象和面向过程的区别
- 多版本PHP编译安装扩展
- 第21篇 ubuntu安装ftp服务器(转载)
- phpcms-v9】使用后台的表单向导做前台的留言板功能
- PHP学习(十二)--数组的遍历
- PHP设计模式 代理设计模式
- PHP设计模式之JS实现观察者模式
- PHP无限极分类详谈
- Zend Studio Eclipse for PHP Developers
- iMX6Q-sbreasd U-boot TFTP and NFS
- php热门资料