/** * Creates a new Comercios model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Comercios(); if ($model->load(Yii::$app->request->post())) { $cantProd = count($model->productos); $productos = ArrayHelper::map(Productos::find()->all(), 'idProd', 'nombre'); /*se crea el stock inicial para el comercio*/ for ($i = 0; $i < $cantProd; $i++) { $id = $model->productos[$i]; $modelStock = new Stock(); $modelStock->nombreComercio = $model->nombre; $modelStock->cantidadEnStock = 0; $modelStock->nombreProducto = $productos[$id]; $modelStock->save(); } $address = urlencode($model->direccion); $url = "http://maps.google.com/maps/api/geocode/json?sensor=false&address=" . $address; $response = file_get_contents($url); $json = json_decode($response, true); if ($json['status'] == 'ZERO_RESULTS') { return array(); } $model->latitud = json_encode($json['results'][0]['geometry']['location']['lat']); $model->longitud = json_encode($json['results'][0]['geometry']['location']['lng']); if ($model->save()) { return $this->redirect(['view', 'id' => $model->idComercio]); } } else { return $this->render('create', ['model' => $model]); } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Productos::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; } $query->andFilterWhere(['idProd' => $this->idProd, 'imagen' => $this->imagen, 'idCat' => $this->idCat]); $query->andFilterWhere(['like', 'nombre', $this->nombre]); return $dataProvider; }
public function actionPedido($id) { $comercioPedido = array(); $arratIdProd = array(); $arratId = array(); $arrayNombresProductos = array(); $conjuntoComercios = ArrayHelper::toArray(Comercios::find()->all()); $conjuntoProductos = ArrayHelper::toArray(Productos::find()->all()); foreach ($conjuntoComercios as $value) { if ($value['idComercio'] == $id) { $comercioPedido = $value; $nomComercio = $value['nombre']; } } $arratIdProd = $comercioPedido['productos']; $arratIdProd = explode('"', $arratIdProd); $i = 0; foreach ($arratIdProd as $value) { if ($value != ':') { if ($value != '[') { if ($value != ',') { if ($value != ']') { $arratId[$i] = $value; } } } } $i++; } //me queda hacer el foreach siguiente pero que por cada value pregunte si su idProd existe dentro del pajar arratIdProd y asi voy sacando los nombres de los productos foreach ($conjuntoProductos as $value) { if (in_array($value['idProd'], $arratId)) { array_push($arrayNombresProductos, $value['nombre']); } } return $this->render('pedido', ['comercioPedido' => $arrayNombresProductos, 'nombreComercio' => $nomComercio, "idComercio" => $id]); }
$form = ActiveForm::begin(); ?> <?php echo $form->field($model, 'nombre')->textInput(['maxlength' => true]); ?> <?php echo $form->field($model, 'direccion')->textInput(['maxlength' => true]); ?> <?php $prioridades = array('alta' => 'alta', 'baja' => 'baja'); echo $form->field($model, 'prioridad')->dropDownList($prioridades)->label('prioridad del comercio'); // $productos = ArrayHelper::map(Productos::find()->all(), 'idProd', 'nombre'); $productos = ArrayHelper::map(Productos::find()->all(), 'idProd', 'nombre'); $diasDeSemana = array('lunes' => 'lunes', 'martes' => 'martes', 'miercoles' => 'miercoles', 'jueves' => 'jueves', 'viernes' => 'viernes'); $i = 0; $j = 0; $arrayProd = array(); $array = explode('"', $model->productos); foreach ($array as $value) { if ($value != "[") { if ($value != ']') { if ($value != ',') { $arrayProd[$i] = $value; $i++; } } } }
/** * @return \yii\db\ActiveQuery */ public function getProductos() { return $this->hasMany(Productos::className(), ['idcategoria' => 'id']); }
/** * @return \yii\db\ActiveQuery */ public function getIdproductos() { return $this->hasMany(Productos::className(), ['id' => 'idproducto'])->viaTable('producto_tienda', ['idcomercio' => 'id']); }
/** * Finds the Productos model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Productos the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Productos::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }