PHP - funcion que recibe 4 parametros y aveces 3

 
Vista:
sin imagen de perfil
Val: 52
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion que recibe 4 parametros y aveces 3

Publicado por luis (25 intervenciones) el 19/12/2018 20:35:27
Buen día¡

Tengo una funcion que recibe 4 parametros pero aveces solo se le mandan 3.

me podrian ayudar a hacer esa validacion o como podria hacerlo.

La función es asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public function putAssignamentAccount($Agrupa, $TipoPersona, $pais, $segmento)
{
    $model_get = new $this->modelClass;
    $model = $model_get::findFirst([
        "conditions" => "agrupacion = :Agrupa: AND tipo_persona = :TipoPersona: AND pais = :pais: AND segmento_mercado = :segmento:",
        "bind"       => [
            "Agrupa"=>$Agrupa,
            "TipoPersona" => $TipoPersona,
            "pais"=>$pais,
            "segmento"=>$segmento]
    ]);
    $cuenta  = $model->grupo_cuentas;
    $segmento = $model->segmento_mercado;
 
    if ($model == true) {
        return $cuenta;
    }
    return 'Datos incorrectos';
}

Hay ocaciones en que recibe los 4 parametros y en ocaciones el " $segmento" no se manda

Espero me puedan ayudar

Saludos
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
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

funcion que recibe 4 parametros y aveces 3

Publicado por Yamil Bracho (888 intervenciones) el 19/12/2018 21:19:25
Lo mas facil es que darle un valor por defecto a la variable. Por ejemplo :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public function putAssignamentAccount($Agrupa, $TipoPersona, $pais, $segmento = '') {
 
	$model_get = new $this->modelClass;
 
	$where = 'agrupacion = :Agrupa: AND tipo_persona = :TipoPersona: AND pais = :pais: ';
	$params = array('Agrupa' => $Agrupa, 'TipoPersona' => $TipoPersona, 'pais' => $pais)
 
	if (strlen($segmento) > 0) [
	   $where = 'AND segmento_mercado = :segmento:';
	   $params['segmento'] = $segmento;
	}
 
	$model = $model_get::findFirst([ 'conditions' => $where, 'bind' => $params]);
	$cuenta  = $model->grupo_cuentas;
	$segmento = $model->segmento_mercado;
 
	return ($model == true) ? $cuenta : 'Datos incorrectos';
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 52
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

funcion que recibe 4 parametros y aveces 3

Publicado por luis (25 intervenciones) el 20/12/2018 15:58:41
Hola... Gracias por tu respuesta pero en ese caso me sigue pidiendo 4 parametros la funcion y en algunas ocaciones no llega ese parametro
Lo que hace asi es que hace la validacion aunque el parametro sea incorrecto pero lo sigue pidiendo y lo que deseo es que cuando se le mande 3 parametros igual realice la accion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

funcion que recibe 4 parametros y aveces 3

Publicado por Kathyu (905 intervenciones) el 20/12/2018 19:09:19
Y puede verificar los parámetros que recibe?

Isset $segmento ? o is_null($segmento) ?

o puede enviar un flag en segmento cuando este no sea usado por el cliente, en este caso puede verificar si $segmento es igual a esa flag

Si puede hacer eso entonces ahí estaría la solución.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar