/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $data = json_decode($request->input('data'), true); $route = Route::find($data['route_id']); if ($route && $route->user_id === Auth::user()->id) { return Response::json(['status' => 'success', 'data' => RoutePoint::create(['route_id' => $route->id, 'location' => $data['longitude'] . ',' . $data['latitude'], 'type' => isset($data['type']) ? $data['type'] : 'start', 'placeId' => $data['google_place_id'], 'address' => $data['formatted_address'], 'name' => $data['name']])]); } else { return Response::json(['status' => 'failure', 'message' => 'record not found']); } }
public function actionIndex() { $data = Route::find()->andWhere(['status' => 1, 'author_id' => Yii::$app->user->identity->id])->orderBy('id desc'); $pages = new Pagination(['totalCount' => $data->count(), 'pageSize' => '9']); $model = $data->offset($pages->offset)->limit($pages->limit)->all(); foreach ($model as $item) { $item->status = ucfirst(strtolower(Lookup::item("RouteStatus", $item->status))); } return $this->render('index', ['model' => $model, 'pages' => $pages]); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Route::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } // //通过preg_split函数分别把2007,9,22存入$year,$month,$day,$hour,$minute,$second六个参数中 // list($year,$month,$day,$hour,$minute)=preg_split('/[-: ]/',$this->start_time); // //根据年 月 日 时 分 秒输出时间戳 // $start=mktime($hour,$minute,0,$month,$day,$year); // $this->start_time = $start; // // list($year,$month,$day,$hour,$minute)=preg_split('/[-: ]/',$this->end_time); // $end=mktime($hour,$minute,0,$month,$day,$year); // $this->end_time = $end; $query->andFilterWhere(['id' => $this->id, 'days' => $this->days, 'miles' => $this->miles, 'status' => $this->status, 'create_at' => $this->create_at]); $query->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'img', $this->img])->andFilterWhere(['like', 'departure', $this->departure])->andFilterWhere(['like', 'destination', $this->destination])->andFilterWhere(['like', 'about', $this->about]); //->andFilterWhere(['like', 'check_list', $this->check_list]); return $dataProvider; }
/** * * * @param array $attributes * @param $user */ public function assignRoutes(array $attributes = []) { if (array_key_exists('routes', $attributes) && is_array($attributes['routes']) && "" != $attributes['routes'][0]) { $this->clearRouteAssociation(); foreach ($attributes['routes'] as $id) { $route = \App\Models\Route::find($id); $this->routes()->save($route); } } else { $this->clearRouteAssociation(); } }
public static function getRoutes() { if (static::$routes === null) { $cacheKey = "Routes:all"; static::$routes = Yii::$app->cache->get($cacheKey); if (!is_array(static::$routes)) { static::$routes = Route::find()->all(); foreach (static::$routes as $key => $route) { static::$routes[$key]['template'] = json_decode($route->url_template, true); } Yii::$app->cache->set($cacheKey, static::$routes, 86400, new TagDependency(['tags' => [\devgroup\TagDependencyHelper\ActiveRecordHelper::getCommonTag(Route::className())]])); } } return static::$routes; }
public function accept(Request $request, $id) { $requestRoute = Route::find($id); $dirData = $request->json()->get('google_directions'); if ($requestRoute) { $ride = $requestRoute->ride; $route = $ride->headRoute; if ($requestRoute && $route->user_id === Auth::user()->id) { $points = RoutePoint::where('route_id', $requestRoute->id)->get(); foreach ($points as $point) { RoutePoint::create(['route_id' => $route->id, 'type' => $point->type, 'placeId' => $point->placeId, 'location' => $point->location, 'name' => $point->name, 'address' => $point->address]); } if (!RideUser::where('ride_id', $ride->id)->where('user_id', $requestRoute->user_id)->first()) { RideUser::create(['ride_id' => $ride->id, 'user_id' => $requestRoute->user_id]); } if (!empty($dirData)) { $route->direction = json_encode($dirData); $route->save(); } $requestRoute->state = 'accepted'; $requestRoute->save(); return Response::json(['status' => 'success', 'data' => DbUtil::serializeRoute($route)]); } } return Response::json(['status' => 'failure', 'message' => 'record not found']); }
/** * Finds the Route model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Route the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Route::find()->where(['id' => $id])->with('author.profile')->one()) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }