【发布时间】:2017-03-02 18:30:42
【问题描述】:
目前我在 控制器 中使用以下代码来查询数据库。此代码检查用户是否已设置其用户名。
$user = User::where('email', $userdata['email'])->first();
if(empty($user->username)){
echo 'Set username here...';
} else {
echo 'My home page!';
}
我的问题是,最好在User 模型中创建一个函数来执行此操作,还是保持原样。因此,例如,第一行将被删除,并且在 if 语句中它将调用模型函数,该函数将给出 true 或 false。
我最初的想法是这应该转移到模型函数中,因为 MVC 结构化项目应该有“胖模型”和“瘦控制器”。这是“业务逻辑”,因此应该在模型中。如果是这样,您能否举例说明我如何将其移至模型并从控制器调用该函数。
【问题讨论】:
-
您绝对应该将所有与数据相关的代码移动到模型中。
-
@AlexeyMezenin 你能否举个例子说明我将如何做到这一点,我见过的大多数例子都在控制器中执行所有“业务逻辑”,我认为这是不好的做法。
-
创建一个 Repository 来查询 Model 的数据。
标签: laravel model-view-controller laravel-5