<?php $this->pageTitle=Yii::app()->name; ?>
<?php $this->breadcrumbs = array("Cerca auto usate"); ?>
<?php $model = Automobili::model()->findAll(new CDbCriteria(array(
'select' => '*',
'condition' => 'stato=:stato',
'params' => array(':stato' => 'usato'),
))); ?>
<?php foreach($model as $k => $v): ?>
<?php $this->renderPartial('view',array(
'model'=>$model[$k],
)); ?>
<?php endforeach; ?>
Page 1 of 1
Ho fatto bene?
#1
Posted 18 January 2011 - 11:04 AM
Dovevo realizzare una pagina semplice semplice che mostrasse l'elenco delle macchine usate presenti in archivio così ho pensato di fare in questo modo. Vorrei sapere se per voi è concettualmente corretto.
#2
Posted 18 January 2011 - 11:16 AM
Colgo l'occasione per chiedere un altro consiglio:
Ho modificato un template, ma ho anche lasciato dentro al template le queries. SBAGLIATO!!! Ora mi ritrovo con un template aggiornato e l'altro tutto statico. Cattivo sensorario!
Ragioniamo: io potrei creare dei miei piccoli pezzettini di layout dove all'interno faccio le mie query. Ma questo non è MVC. Per rispettare il pattern, devo forse creare tanti piccoli controller actionBlablabla() e solo eventualmente i relativi template dentro protected/views/ ...?
Sono sicuro che con il tempo la risposta verrà da se.
Ho modificato un template, ma ho anche lasciato dentro al template le queries. SBAGLIATO!!! Ora mi ritrovo con un template aggiornato e l'altro tutto statico. Cattivo sensorario!
Ragioniamo: io potrei creare dei miei piccoli pezzettini di layout dove all'interno faccio le mie query. Ma questo non è MVC. Per rispettare il pattern, devo forse creare tanti piccoli controller actionBlablabla() e solo eventualmente i relativi template dentro protected/views/ ...?
Sono sicuro che con il tempo la risposta verrà da se.
#3
Posted 18 January 2011 - 02:55 PM
Se non vuoi fare tanti metodi nel controller, le query le puoi mettere dentro al model... tralaltro e li il loro posto
per esempio nel model Automobili agiungi una metod getAll() che puoi poi chiamare con Automobili::model()->getAll() oppure Automobili::model()->all
e poi nella view usi
per esempio nel model Automobili agiungi una metod getAll() che puoi poi chiamare con Automobili::model()->getAll() oppure Automobili::model()->all
public function getAll()
{
return $this->model()->findAll(new CDbCriteria(array(
'select' => '*',
'condition' => 'stato=:stato',
'params' => array(':stato' => 'usato'),
)));
}
e poi nella view usi
<?php $model=Automobili::model()->all ?>
Find more about me.... btw. Do you know your WAN IP?
#4
Posted 19 January 2011 - 04:15 AM
Prova a dare un occhiata a questo articolo, ti dara' delle dritte su come seguire piu' fedelmente il paradigma MVC.
#5
Posted 19 January 2011 - 04:53 AM
Letto, anche il tuo commento zaccaria =). Vedo di sistemare un po' di codice in giro ...
#6
Posted 21 January 2011 - 01:57 AM
Il fatto e' che tanti parlano in termini molto astratti tipo "business logic" e "application level", ma non e' molto chiaro cosa deve stare dove.
Ragionando in termini di query - $_POST - html e' tutto piu' facile.
Ragionando in termini di query - $_POST - html e' tutto piu' facile.
Share this topic:
Page 1 of 1

Help














