我是yii的新人。我对模型中的Active记录和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]);
}
}
这样做的正确方法是什么? 我是关于胖模型和微小的控制器。
答案 0 :(得分:1)
第二种选择更为正确,控制器应该很小,所有业务逻辑都应该在模型或功能类中呈现