Quantcast
Channel: Yii Framework Forum
Viewing all articles
Browse latest Browse all 18717

Problème Entre Modèle Et Controller Avec Csqldataprovider

$
0
0
Bonjour,

Je dois afficher une liste de résultats issue d'une requete sql complexe (environ 80 lignes et plusieurs tables sans clés étrangères)
Pour cela j'ai construit mon MVC dans un nouveau module en utilisant CSqlDataProvider.
Je n'arrive pas à le faire fonctionner.
Ci-dessous le détail(j'ai simplifié la réquete sql) :
controllers/DefaultController.php
<?php
class DefaultController extends Controller
{
	public function actionIndex()
	{
		$dataProvider=new CArrayDataProvider('ListDemandes');
		$this->render('index',array(
			'dataProvider'=>ListDemandes::model()->getListAllDemandes(),
		));
	}
}
?>


models/ListDemandes.php
<?php
class ListDemandes extends CActiveRecord{
	 
	/**
	 * Returns the static model of the specified AR class.
	 * @param string $className active record class name.
	 */
	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}
	
	public function getListAllDemandes() {
		$count=Yii::app()->db->createCommand('SELECT COUNT(*) FROM demande_ou_projet dem')->queryScalar();
		$sql='
				SELECT iddemande,Libelle
				FROM demande_ou_projet dem
				';
		$dataProvider=new CSqlDataProvider($sql, array(
				'totalItemCount'=>$count,
				'sort'=>array(
						'attributes'=>array(
								'iddemande', 'libelle',
						),
				),
				'pagination'=>array(
						'pageSize'=>20,
				),
		));
		return $dataProvider->getData();

	}
}
?>


views/index.php
<?php
/* @var $this DefaultController */


$this->widget('zii.widgets.grid.CGridView', array(
        'dataProvider'=>$dataProvider,
		'columns'=>array(
				array(
						'header'=>'ID',
						'name' => 'id',
						'type'=>'raw',
						'value' => '$data["iddemande"]',
				),
				array(
						'header'=>'libelle',
						'name' => 'id',
						'type'=>'raw',
						'value' => '$data["libelle"]',
				),
				
		),
));
?>


Je vous remercie d'avance pour votre aide car je tourne un peu en rond.

Viewing all articles
Browse latest Browse all 18717

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>