Loading



 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Consulta relacionales en el CGridView
14-08-2012, 03:25 PM
Mensaje: #1
Consulta relacionales en el CGridView

para hacer consultas relacionales en el CGridView :


supongando que tienes una tabla llamda usuarios en el modelo protectd/component/Usuarios.php heces esto :


Código PHP:
public function rules()
{
return array(
'direccion' => array(self::BELONGS_TO'Direccion''direccion_id'),
...
);

debes tener otro modelo llmado direccion en el caso de este ejemplo tu lo aplicas al tuyo
en la vista en el array de parametros del gridView tienes


y como ya tienes una propiedad en el modelo llmada direcion al llamar a una columna en el grid con direccion no te va a dar error de que la propiedad no existe y de paso te va a crear la caja de filtro que siempre crea en el grid

Código PHP:
...
'email',
array(
'name'=>'direccion',
'value'=>'$data->direccion->barrio." ".$data->direccion->ciudad',
),
... 


en el modelo usuarios ya cuentas con una propiedad llmada direccion desde el momento que registras la relacion ene l array rules por eso ya puedes filtrara asi

Código PHP:
$criteria->compare('direccion',$this->direccion,true); 


ademas es necesario que al criteria del modelo usuarios en la nfuncion search le pases un parametro llamado with para hacer referencia a la tabla a la que vas a realizar el join


Código PHP:
public function search()
{
// Warning: Please modify the following code to remove
//attributes that should not be searched.
$criteria=new CDbCriteria;
$criteria->with = array('direccion'));
$criteria->compare('direccion',$this->direccion,true);
 
… 

QUOTE
26-03-2013, 10:27 AM
Mensaje: #2
RE: Consulta relacionales en el CGridView

Hola Gustavo, he empezado ahora a usar Cgridview, criteria, dataprovider, y voy bien, me funciona todo,pero esta utilidad no consigo dominarla...
Mi problema es el siguiente, tengo comentarios, con la relación hecha con post, que funciona perfectamente, y al hacer la relación en el criteria para el CGridView me salta este error...
Integrity constraint violation: 1052 Column 'dateCreation' in order clause is ambiguous.


He visto por ahí de poner el compare así:


Código PHP:
$criteria->compare('t.post',$this->post,true); 


pero sigue saliendo... alguna idea?? Un saludo!

QUOTE
26-09-2013, 06:20 AM
Mensaje: #3
RE: Consulta relacionales en el CGridView

Este action sera invocado usando jQuery desde algun script en alguna parte de tu website, cuando lo invocas puedes pasar datos via post hacia tu action, y luego para recibirlos en el action haces:


http://www.pass-4sure.info/braindumps/250-315.html
http://icma.org/
http://www.ox.ac.uk/
http://en.wikipedia.org/wiki/The_Athenaeum_of_Ohio

QUOTE


Posibles temas similares...
Tema: Autor Respuestas: Vistas: Último mensaje
  Leer algun atributo de una fila con $data en un CGridView desde un CButtonColumn bluyell 3 3,492 06-03-2013 02:01 PM
Último mensaje: Laura
  Acceder a las columnas de un CGridView usando jQuery bluyell 0 2,455 03-10-2012 05:41 PM
Último mensaje: bluyell

Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)

Contáctanos | Yii Framework en Español | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS