AC中Bussnes逻辑的正确方法

AC中Bussnes逻辑的正确方法

问题描述:

即时通讯中的新功能。我对模型中的活动记录和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'我关于胖模型,和微小的控制器。

第二种选择更真实,控制器应该很小,所有业务逻辑都应该在模型或功能类中呈现