关于laravel数据库问题
2019独角兽企业重金招聘Python工程师标准>>>
我现在使用:
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…之类
转载于:https://my.oschina.net/HeYuhui/blog/654693
关于laravel数据库问题相关推荐
- laravel数据库相关操作
SQL查询 配置好数据库连接后,可以使用 DB facade 运行查询.DB facade 为每种类型的查询提供了方法:select.update.insert.delete 和 statement. ...
- php单独使用laravel数据库 | laravel手动关闭数据库连接
安装 composer require illuminate/database laravel单独使用案例 增删改查-手动关闭数据库 <?php date_default_timezone_se ...
- laravel数据库对象转为数组
laravel数据库查询Model对象转为数组 我们在使用laravel的eloquent ORM 对数据库进行CRUD操作时,返回给我们的结果不是像TP(3.2版本)那样返回一个数组,而是返回一个对 ...
- laravel 数据库获取值的常用方法
find($id) 需要一个主键$id并返回一个模型对象,若不存在则返回null findOrFail($id) 需要一个主键$id并返回一个模型对象,若不存在则发生错 ...
- Laravel数据库迁移和填充(支持中文)
写在前面 经常我们做项目都团队协作开发,每个人都在自己本地的数据库,如果你曾经出现过让同事手动在数据库结构中添加字段的情况,数据库迁移可以解决你这个问题. 不仅如此,在线上部署的时候,也避免了手动导入 ...
- laravel 数据库操作(表、字段)
1)创建表(make:migration create),例如创建 articles php artisan make:migration create_articles_table 运行命令后,会在 ...
- Laravel 数据库实例教程 —— 使用DB门面操作数据库
Laravel支持多种数据库,包括MySQL.Postgres.SQLite和SQL Server,在Laravel中连接数据库和查询数据库都非常简单,我们可以使用多种方式与数据库进行交互,包括原生S ...
- Laravel 数据库配置
2019独角兽企业重金招聘Python工程师标准>>> @@设置默认连接数据库@@ 'default' => 'mysql', @一 配置database.php 默认为mys ...
- Laravel数据库之Seeding
1.简介 Laravel提供了一种使用种子类将测试数据作为数据库种子的简单方法. 所有种子类都存储在database / seeders目录中. 种子类可能具有您想要的任何名称,但可能应该遵循一些明智 ...
最新文章
- Swift -布局框架SnapKit使用
- Solaris的syslog机制
- juniper防火墙(SSG and SRX)排障抓包命令
- Oracle中如何插入特殊字符: 和 ' (多种解决方案)
- Java反射 Constructor类
- a除b的余数【取模(%)与取余(/)的区别】
- postgreSQL学习(二):pgsql的一些基础操作
- 内部办公网与IDC机房的GRE隧道配置实践
- thinkphp中的__DIR__ __ROOT__ __APP__ __MODULE__ APP_PATH LIB_PATH MODULE_PATH 等是在哪里定义的?...
- 自己动手打造属于自己的智能家居(二)
- multisim10.0安装教程
- 计算机科学与技术高中选课,2019-2021年新高考专业选课要求 大学个专业选科要求解读...
- python求一个数的因子_0是素数吗(python求一个数的因子)
- Edge浏览器保存主页视频的方法
- MATLAB libsvm 安装和使用
- 怎么样可以批量下载网页图片?
- python字符串分片_Python第六章字符串ppt
- IntelliJ idea中集成多个git项目模块
- 英语美文-不做有才华的穷人
- Java判断日期格式是否正确
热门文章
- android开发GPS定位测试(附效果图和示例)【转】
- Win7家庭版启用Administrator账户
- 如何调试SharePoint中XsltListViewWebPart的XSL
- https连接加载http资源
- week5 0.1 安装materializecss
- Windows server 2012 新功能试用---- powershell 3.0 进程和服务的操作
- 一个简单 JDK 动态代理的实例
- LINUX weblogic集群搭建- 03启动脚本的控制
- JS中比較2个字符串内元素的不同(字符1, 字符2, 分隔符可选)
- 浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决的方法