关于laravel数据库问题

我如今使用:php

1)$get_infos = DB::table('game_info')->where('type',$type)->skip($last)->take(3)->get();mysql

2)$get_gjfz_infos =DB::select('select game_info.* from game_info where type = "1" limit 0,3);laravel

这些语法去每次三行读取数据。sql

问题1.当剩余数据量不足三条时,怎样让他读取剩余数据而不是直接报错?我想到的一种办法是直接写sql语句,先计算一下所有数据条数,每次取的时候再计算一下剩余条数,但这样又复杂效率又不高。框架有没有方便的方法支持?数据库

问题2.2)中想在sql语句中嵌个变量该怎么写,好比把type=‘1’换成type=$type?仍是说只能经过1)式那种语法实现?数组

问题3.laravel文档中对于数据库操做的get()、first()等等方法都找不到详细的介绍,用的不明不白,有什么其余资料介绍到吗?服务器

问题4.怎么让数据库查询不到或者错误时让它抛出异常,也就是说有没有相似于php中echo mysqli_error($mysqli);这样的方法,把错误返回到视图中好让我调试,如今数据库出错时,视图上就报个500的错,因为用post方法要想直接访问连接调试php还得把路由改回get,调试很困难。app

其实好像这四个问题均可以归于问题(3)..框架

回答:oop

  1. 一般写原生SQL

  2. DB::select(‘SELECT … type = ?’, array($type))

  3. get返回对象数组,first返回对象。Laravel的文档就是这样的,我也不知道有什么好的资料。可是仔细看,须要知道的东西文档其实都有,只是它不肯意多写一个字。

  4. 你是在本地调试仍是在服务器?你应该有权限访问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…之类

相关文章
相关标签/搜索