1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Mead
- * Date: 2019/8/5
- * Time: 2:44 PM
- */
- namespace App\Transformers;
- use App\Models\LocationLogMongodb;
- use App\Models\Order;
- use App\Models\RentOrder;
- use League\Fractal\TransformerAbstract;
- class RentOrderTransformer extends TransformerAbstract
- {
- protected $availableIncludes = ['locations'];
- public function transform(RentOrder $model)
- {
- return [
- 'no' => $model->no,
- 'bike_no' => $model->bike_no,
- 'start_use_bike_time' => $model->start_use_bike_time->format('Y-m-d H:i:s'),
- 'rent_money' => $model->rent_money,
- 'rent_total_money' => $model->rent_total_money,
- 'rent_preferential_money' => $model->rent_preferential_money,
- 'rent_pay_status' => $model->rent_pay_status,
- 'end_use_bike_time' => $model->end_use_bike_time ? $model->end_use_bike_time->format('Y-m-d H:i:s') : '',
- 'use_bike_time_length' => format_minutes($model->use_bike_time_length),
- 'use_bike_distance_length' => format_mileage($model->use_bike_distance_length),
- 'time_money' => $model->time_money,
- 'distance_money' => $model->distance_money,
- 'dispatch_money' => $model->dispatch_money,
- 'preferential_money' => $model->preferential_money,
- 'total_money' => $model->total_money,
- 'order_total_money' => $model->order_total_money,
- 'pay_status' => $model->pay_status,
- 'status' => $model->status,
- 'created_at' => $model->created_at->format('Y-m-d H:i:s')
- ];
- }
- public function includeLocations(RentOrder $order)
- {
- $locations = LocationLogMongodb::where('order_id', $order->id)->where('is_rent',LocationLogMongodb::RENT_YES)->where('latitude', '>', 0)->orderBy('created_at', 'asc')->get();
- return $this->collection($locations, new LocationLogsTransformer);
- }
- }
|