christiansalazarh

Usando un JOIN en un CDbCriteria. Yii Framework

Jan 11th, 2013
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.86 KB | None | 0 0
  1. // clase Empleado. primarykey: idempleado.
  2. //    relacionada con Depto (Depto.id)
  3. //    mediante la clase de asociación DeptoEmp(iddepto, idempleado)
  4. public function search(){
  5.     $criteria=new CDbCriteria;
  6.     if($this->iddepto != null)
  7.     {
  8.         // buscara a ver si este empleado esta asociado a un departamento
  9.         // usando para ello el atributo temporal this->iddepto el cual
  10.         // sera verificado en la relacion de asociación DEPTOEMP
  11.         // mediante el uso de una sentencia LEFT JOIN.
  12.         //
  13.         $criteria->distinct = true;
  14.         $criteria->join =
  15.             'left join deptoemp DXE on DXE.idempleado = t.idempleado ';
  16.         $criteria->compare('DXE.iddepto',$this->iddepto);
  17.     }
  18.     return new CActiveDataProvider($this, array(
  19.         'criteria'=>$criteria,
  20.         'sort'=>array(
  21.             'defaultOrder'=>array(
  22.                 'idempresa'=>false
  23.             ),
  24.             'attributes'=>array(
  25.                 'idempresa'
  26.             ),
  27.         ),
  28.     ));
  29. }
Advertisement
Add Comment
Please, Sign In to add comment