类似于 think-orm 的 withAttr 功能。
如 我查询出了一组订单数据, 需要把其中的 status 字段变成可读的字符串形式, 0:待付款 1待发货
think-orm 中的查询构造器可以这样实现:
$orders =
Db::table('orders')
-> withAttr([
'status' => function($status) {
return ['待付款', '待发货'][$status];
}
])
-> page(1, 15)
-> select();
return $orders -> toArray();
Laravel 中的查询构造器有类似的功能吗 还是说 只能取出数据后再循环一遍处理
foreach ($orders as &$order) {
$order['status'] = ['待付款', '待发货'][$order['status']];
}
return $orders;
自己实现或修改内置的toArray方法。