
laravel 查询构造器批量处理数据集合
类似于 think-orm 的 withattr 功能,可以在查询构造器中批量处理数据集合。
解决方案
laravel 中并不直接提供类似的功能,但可以通过修改内置的 toarray 方法或自己实现来达到目的。
自定义 toarray 方法
可以使用 service 或 helper 来实现自定义 toarray 方法。例如:
namespace appservices;class dataloader{ public static function convertstatus($value) { // 返回转换后的值 } public static function toarray($query, $attributes = []) { $data = $query->get()->toarray(); foreach ($data as $key => &$value) { foreach ($attributes as $field => $callback) { $value[$field] = $callback($value[$field]); } } return $data; }}
自己实现
foreach ($orders as &$order) { $order['status'] = ['待付款', '待发货'][$order['status']];}
以上就是Laravel 查询构造器如何实现类似 Think-ORM 的 withAttr 批量处理数据集合功能?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1248816.html
微信扫一扫
支付宝扫一扫