我想要这个:
SELECT i.inmueble_nombre, a.arrendatario_nombre, a.arrendatario_email, c.contrato_fecha_ini, c.contrato_fecha_fin
FROM zf_inmuebles i, zf_arrendatarios a, zf_contratos c
WHERE c.contrato_estado = 'ALta'
AND i.inmueble_id = c.zf_inmuebles_inmueble_id
AND a.arrendatario_id = c.zf_arrendatarios_arrendatario_id
在Clistview的数据提供者中,我该怎么做?
答案 0 :(得分:1)
一个简单的选择是使用CSqlDataProvider。基本上,您只需设置查询和计数,数据提供程序将为每个列表项返回一个数组(以您选择的列作为键)。
答案 1 :(得分:0)
试试这段代码。
在控制器中。
$sql = "SELECT i.inmueble_nombre, a.arrendatario_nombre, a.arrendatario_email, c.contrato_fecha_ini, c.contrato_fecha_fin
FROM zf_inmuebles i, zf_arrendatarios a, zf_contratos c
WHERE c.contrato_estado = 'ALta'
AND i.inmueble_id = c.zf_inmuebles_inmueble_id
AND a.arrendatario_id = c.zf_arrendatarios_arrendatario_id";
$dataProvider=new CSqlDataProvider($sql,array(
'pagination'=>array(
'pageSize'=> '10', //no of record per page here
),);
$this->render('VIEW_NAME', array('dataProvider'=>$dataProvider));
在VIEW_FILE
中$this->widget('zii.widgets.CListView',
array(
'dataProvider'=>$dataProvider,
'ajaxUpdate'=>true,
'columns'=>array(
array('header'=>'Inmueble Nombre','name'=>'inmueble_nombre'),
array('header'=>'Arrendatario Nombre','name'=>'arrendatario_nombre'),
),
));