laravel中Eloquent的QueryBuilder序列化,了解一下eloquent-serialize包
Laravel  /  管理员 发布于 3年前   1089
Eloquent Serialize 是一个 Laravel 包,用于序列化和反序列化 Eloquent 查询构建器对象。
安装
composer require anourvalar/eloquent-serialize
EloquentSerialize 服务有两种方法,序列化和反序列化。
给定以下简单查询,您可以序列化构建器结果:
$data = \EloquentSerialize::serialize(
App\Models\Post::with('author')->limit(1)
);
// => "O:36:"AnourValar\EloquentSerialize\Package":1:{s:42:"\0AnourValar\EloquentSerialize\Package\0data";a:4:{s:5:"model";s: 15:"App\Models\Post";s:10:"connection";N;s:8:"eloquent";a:3:{s:4:"with";a:1:{s:6: "author";a:16:{s:8:"bindings";a:9:{s:6:"select";a:0:{}s:4:"from";a:0:{} s:4:"join";a:0:{}s:5:"where";a:0:{}s:7:"groupBy";a:0:{}s:6:"have"; a:0:{}s:5:"order";a:0:{}s:5:"union";a:0:{}s:10:"unionOrder";a:0:{}}
从序列化数据中,您可以获取一个 Eloquent 构建器实例:
\EloquentSerialize::unserialize($data)->get();
foreach ($builder->get() as $item) {
// ...
}
/*
=> Illuminate\Database\Eloquent\Collection {#4430
全部: [
应用\模型\发布 {#4423
编号:1,
作者 ID:1,
title: "你好世界",
body: "这是一个测试帖。",
created_at: "2021-10-05 04:14:31",
更新时间:“2021-10-05 04:14:31”,
作者:App\Models\Author {#3483
编号:1,
姓名:“保罗·雷德蒙德”,
created_at: "2021-10-05 04:13:36",
更新时间:“2021-10-05 04:13:36”,
},
},
],
*/
如果您需要将用户查询缓存或存储为序列化数据,并且稍后需要将结果检索回 Eloquent 构建器对象,则此包可能会有所帮助。
您可以了解有关此包的更多信息、获取完整安装说明并查看 GitHub 上的源代码。
https://github.com/AnourValar/eloquent-serialize
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号