/** * data field contains a json object */ public function store(Request $request) { $data = $request->json(); // error_log(print_r($data->get('origins'), true)); // error_log('debug'); // error_log(print_r($data, true)); // error_log('here'); $ride = new Ride(); $ride->initiator = Auth::user()->id; $ride->save(); $rideUser = new RideUser(); $rideUser->ride_id = $ride->id; $rideUser->user_id = Auth::user()->id; $rideUser->save(); $route = new Route(); $route->ride_id = $ride->id; $directions = !empty($data->get('google_directions')) ? json_encode($data->get('google_directions')) : ''; $route->direction = $directions; $route->user_id = Auth::user()->id; $route->state = 'accepted'; $route->note = !empty($data->get('share_details')) && isset($data->get('share_details')['notes']) ? $data->get('share_details')['notes'] : ''; $route->endTime = !empty($data->get('share_details')) && isset($data->get('share_details')['arrival_time']) ? $data->get('share_details')['arrival_time'] : ''; $route->save(); $ride->head = $route->id; $ride->save(); foreach ($data->get('origins') as $point) { $addr = isset($point['formatted_address']) ? $point['formatted_address'] : ''; RoutePoint::create(['route_id' => $route->id, 'placeId' => $point['google_place_id'], 'address' => $addr, 'location' => $point['longitude'] . ',' . $point['latitude'], 'name' => $point['name'], 'type' => 'start']); } foreach ($data->get('destinations') as $point) { $addr = isset($point['formatted_address']) ? $point['formatted_address'] : ''; RoutePoint::create(['route_id' => $route->id, 'placeId' => $point['google_place_id'], 'address' => $addr, 'location' => $point['longitude'] . ',' . $point['latitude'], 'name' => $point['name'], 'type' => 'end']); } return Response::json(['status' => 'success', 'data' => DbUtil::serializeRide($ride)]); }
/** * Creates a new Route model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Route(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model]); } }
public function store(Request $request) { $inputsData = $request->only('origen', 'destiny', 'price'); $newRoute = new Route($inputsData); $newRoute->active = 1; if ($newRoute->save()) { return response()->json($newRoute); } else { return response()->validation_error($newRoute->errors(), 'Ruta no ha sido registrada'); } }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $data = $request->json(); // $data = json_decode($request->input('data'), true); $ride = Ride::find($data->get('ride_id')); if ($ride) { $route = new Route(); // $route->startTime = $request->input('start_time'); if ($ride->initiator === Auth::user()->id) { $route->state = 'accepted'; } else { $route->state = 'requested'; } $route->endTime = !empty($data->get('share_details')) && isset($data->get('share_details')['arrival_time']) ? $data->get('share_details')['arrival_time'] : ''; $route->user_id = Auth::user()->id; $route->ride_id = $ride->id; $route->note = !empty($data->get('share_details')) && isset($data->get('share_details')['notes']) ? $data->get('share_details')['notes'] : ''; if ($ride->initiator === Auth::user()->id) { $route->extends = $ride->head; $route->save(); $ride->head = $route->id; $ride->save(); } else { $route->save(); } foreach ($data->get('origins') as $point) { RoutePoint::create(['route_id' => $route->id, 'placeId' => $point['google_place_id'], 'address' => $point['formatted_address'], 'location' => $point['longitude'] . ',' . $point['latitude'], 'name' => $point['name'], 'type' => 'start']); } foreach ($data->get('destinations') as $point) { RoutePoint::create(['route_id' => $route->id, 'placeId' => $point['google_place_id'], 'address' => $point['formatted_address'], 'location' => $point['longitude'] . ',' . $point['latitude'], 'name' => $point['name'], 'type' => 'end']); } return Response::json(['status' => 'success', 'data' => DbUtil::serializeRoute($route)]); } else { return Response::json(['status' => 'failure', 'message' => 'record not found']); } }