Tengo una tabla Préstamo y otra Usuario, en Préstamo una FK con el id del usuario. Si existe un préstamo activo, ese usuario es moroso. Lo que quiero es mostrar un botón "Ver solo Morosos" en el index del modelo de Usuario.
A esto lo pensé en hacer un indexMoroso.php y un _viewMoroso.php solo con los datos de los usuarios que adeudan, pero no se como hacerlo ya que debería recorrer todos los préstamos a fin de encontrar préstamos activos y por lo tanto usuarios morosos para poder listarlos con CListView.
En este caso, sería conveniente que en la tabla Usuario de la DB se coloque un atributo nuevo "estado" o "moroso" boolean?
Y si no se guarda es que el atributo no esta definido o se esta perdiendo en algun lado, o el campo no coincide con el tipo de dato que le estas enviando.
Me parece que en tu caso lo mas eficiente es usar un 0=inactivo 1=activo para cada cliente segun el estado.
Esa propiedad no cambia en nada el resultado que obtengo :S
Replanteo la duda:
Tengo una tabla Prestamo y otra Usuario. Un préstamo puede tener 1,1 usuario. Un usuario puede tener 0…n préstamos. Lo que quiero es NO poner un boolean ‘estado’ en la tabla Usuario. Necesito DESDE el index del modelo Usuario ver (a través de un link/botón) SOLO los usuarios morosos, esto es: los usuarios que están asociados a un préstamo con ‘estado’=1.
Pensé en algo como esto, sacado de la guía definitiva:
$users=User::model()->with(array(
'posts'=>array(
// we don't want to select posts
'select'=>false,
// but want to get only users with published posts
'joinType'=>'INNER JOIN',
'condition'=>'posts.published=1',
),
))->findAll();
pero no se como implementarlo en mi caso. Tengo una relación BELONGS_TO en Préstamo (foreign key relacionada con el id del usuario).
Exacto, que la combinación sea única, no cada uno por separado.
Para hacerlo más fácil:
Supongamos que tenemos un modelo Empresa y un modelo Localidad. Lo que quiero es desde, por ejemplo, index.php (home) poner una lista de links que me muestren solo las Empresas de cierta Localidad.
Ejemplo:
<?php
$localidades=Localidad::model()->findAll();
foreach($localidades as $localidad)
echo CHtml::link($localidad->nombre, array('empresa/index','idLocalidad'=>$localidad->id)).'</br>';
?>
Pero necesito saber como puedo usar otra acción que no sea esa ‘index’ y que no me de error 403.