2012-11-04 12 views
0

我是一個想要遵循MVC模式的Yii開發人員。哪一個更清潔:在視圖或模型上放置條件語句?

在我目前的項目的一部分,我必須檢查一個特殊的條件,並根據它的結果顯示一個給用戶的東西列表。我想確定用戶是admin還是guest

在兩個選擇。我在這裏,一個是確定兩個方法,一個是管理和一個用於其它用戶,並檢查用戶管理或不看,是這樣的:

$this->widget('zii.widgets.grid.CGridView', array(
    'id' => $tableName . "_grid", 
    'dataProvider' => (Yii::app()->user->id == User::ADMIN) ? $model->search() : $model->getMyList(), 
    'filter' => $model, 
    'columns' => array(
.... 

或更改模型中的getMineList方法。由於這個事實,我不能把這個陳述放在控制器哪個更好更清潔?

+1

最好使用條件'的Yii ::應用程序() - > user-> id == User :: ADMIN'放入$ model-> search()中 – GBD

回答

3

最好的辦法改變getMineList,或如GBD說做模型的邏輯,落實到模型的搜索方法