2017-05-31 83 views
0

即時通訊中的新功能。我對模型中的活動記錄和bussnes邏輯有疑問。 我有模型和控制器:AC中Bussnes邏輯的正確方法

namespace app\models; 

use yii\db\ActiveRecord; 

class Photos extends ActiveRecord 
{ 

} 

控制器:

namespace app\controllers; 

use Yii; 
use app\models\Photos; 

class PhotosController extends Controller 
{ 
    public function actionIndex() 
    { 
     $photos = Photos::find() 
      ->where(['userid' => Yii::$app->user->identity->id]) 
      ->all(); 
     return $this->render('index', ['photos' => $photos]); 
    } 
} 

我想要做的是,在其他的方式:

namespace app\models; 

use yii\db\ActiveRecord; 

class Photos extends ActiveRecord 
{ 
    public function findOneById($id) 
    { 
     return Photos::findOne($id); 
    } 
} 

和控制器:

namespace app\controllers; 
use Yii; 
use app\models\Photos; 

class PhotosController extends Controller 
{ 
    public function actionIndex() 
    { 
     $photos = Photos::findByUserId(Yii::$app->user->identity->id); 
     return $this->render('index', ['photos' => $photos]); 
    } 
} 

是什麼正確的方式來做這件事S'我關於胖模型,和微小的控制器。

回答

1

第二種選擇更真實,控制器應該很小,所有業務邏輯都應該在模型或功能類中呈現