/**
  * 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++;
            }
        }
    }
}
Exemple #5
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getProductos()
 {
     return $this->hasMany(Productos::className(), ['idcategoria' => 'id']);
 }
Exemple #6
0
 /**
  * @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.');
     }
 }