PHP - ARRAY

 
Vista:
sin imagen de perfil

ARRAY

Publicado por Manuel Flores (3 intervenciones) el 09/03/2017 18:41:04
En el Modelo PaisEmpresa.php tengo este metodo el cual retorna las provincias de un pais
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static function getProvinciasByIdPais($idPais)
{
    $provincias = [];
    if ($idPais > 0) {
        $pais = self::loadId($idPais);
        if ($pais instanceof PaisEmpresa) {
            $result = $pais->getProvincias();
            if (!empty($result)) {
                foreach ($result as $row) {
                    $provincias[] = [
                        'name' => utf8_encode($row->nombre),
                        'value' => $row->id
                    ];
                }
            }
        }
    }
        return array_rand($provincias, 1);
}


Ese metodo lo utilizo en la Clase Crear Compañia el cual una vez ingresado el Pais de donde es dicha empresa me obtenga de manera aleatoria alguna provincia siempre y cuando pertenezca al pais indicado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private function createCompany()
{
    $this->company = new Empresa();
    $entrada = array(0, 1);
    $this->company->nombre = utf8_decode($this->faker->company);
    $this->company->idpais_empresa = $this->pais->id;
    $this->company->idprovincias = PaisEmpresa::getProvinciasByIdPais($this->pais->id);
    try {
        $this->company->save(false);
        $success = $this->company;
    } catch (Exception $e) {
        trigger_error($e->getMessage(), E_USER_ERROR);
    }
    return $success;
}


Al hacer el registro vía consola (utilizo SYMFONY y PHP) me asigna el IdProvincia pero ese "ID" no es el correcto sino que hace el conteo de las que contiene dicho pais y me asigna un numero, por ejemplo si Mexico tiene 33 provincias, me elige un numero del 1 al 33 cuando en realidad quiero el IdProvincia que en este caso sería del 26 al 58 que corresponden a las provincias que tiene Mexico
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder