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'我关于胖模型,和微小的控制器。
答
第二种选择更真实,控制器应该很小,所有业务逻辑都应该在模型或功能类中呈现