浅谈laravel数据库查询返回的数据形式
2019-10-22 07:05
1836 查看
版本:laravel5.4+
问题描述:laravel数据库查询返回的数据不是单纯的数组形式,而是数组与类似stdClass Object这种对象的结合体,即使在查询构造器中调用了toArray(),也无法转换成单纯的数组形式。
问题解析:
(以上图片来源于laravel学院5.3版本到5.4版本的升级手册)
如上图所示:Laravel不再支持在配置文件中定制PDO的“fetch mode”,取而代之,总是使用PDO::FETCH_OBJ,如果你仍然想要为应用定制fetch模式,需要监听新的Illuminate\Database\Events\StatementPrepared事件。
问题解决:
打开app/Providers/EventServiceProvier.php,如文档上所说,我们要先引入Illuminate\Database\Events\StatementPrepared类
use Illuminate\Database\Events\StatementPrepared;
然后在boot方法中加入如图中给出的样例代码:
Event::listen(StatementPrepared::class, function ($event) { $event->statement->setFetchMode(\PDO::FETCH_ASSOC); //这里我们使用PDO::FETCH_ASSOC });
这样我们就大功告成啦,现在你的laravel数据库查询返回的数据就是单纯的数组形式。
最后附上app/Providers/EventServiceProvier.php的整体代码:
<?php namespace App\Providers; use Illuminate\Support\Facades\Event; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; use Illuminate\Database\Events\StatementPrepared; class EventServiceProvider extends ServiceProvider{ /** * The event listener mappings for the application. * * @var array */ protected $listen = [ 'App\Events\Event' => [ 'App\Listeners\EventListener', ], ]; /** * Register any events for your application. * * @return void */ public function boot() { parent::boot(); // Event::listen(StatementPrepared::class, function ($event) { $event->statement->setFetchMode(\PDO::FETCH_ASSOC); }); } }
以上这篇浅谈laravel数据库查询返回的数据形式就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- laravel 查询数据库first()返回的数据转数组
- php简单实现查询数据库返回json数据
- laravel查询数据库,对反馈回来的object类型,判断是否存在数据
- php执行数据库查询返回json格式数据
- laravel使用Caching缓存数据减轻数据库查询压力
- Spring-JDBC:在使用JdbcTemplate进行条件查询时没有返回数据,但是sql直接在数据库中执行是有数据返回的。
- SpringBoot 查询时间数据 数据库和返回数据相差8个小时
- json格式数据,将数据库中查询的结果转换为json, 然后调用接口的方式返回json(方式一)
- thinkPHP5实现的查询数据库并返回json数据实例
- php执行数据库查询返回json格式数据
- php简单实现查询数据库返回json数据(返回json数据函数实例)
- Laravel使用Caching缓存数据减轻数据库查询压力的方法
- php执行数据库查询返回json格式数据
- 查询数据库时如何把数据按照字段名和字段值的数据返回
- Python 查询的数据库中的数据 关键值转换成键值对形式
- php简单实现查询数据库返回json数据
- JAVA数据库处理(连接,数据查询,结果集返回)
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
- AJAX服务器返回数据 连接数据库查询数据
- mongodb基础系列——数据库查询数据返回前台JSP(二)