在Laravel

时间:2017-07-11 12:47:47

标签: php laravel laravel-5.4

在Laravel中进行数据库更新之前,检查某些条件的最佳位置在哪里。

在表单提交期间,我使用form validation class来处理这些请求验证。

我有表usersawardsaward_user

在我分配用户奖励时,在某些情况下,最多一个用户可以分配一个奖励,我必须在尝试将用户分配给奖励时检查是否已经分配了用户,

我在我的控制器中编写代码并抛出403异常,如下所示

    //get award
    $award = Award::with('type')->findOrFail($id);
    //get award assigned members by department
    $userCount = AwardUser::join('users', 'users.id', 'award_user.user_id')
            ->where('award_id', $id)
            ->where('users.department_id', $departmentId)
            ->count();
    //not allowed to assign more than one if max person > 0
    if ($award->type->max_person > 0 && $userCount > 0) {
        abort(403, 'No more user allowed to assign!');
    }
    $award->members()->attach($userId, ['created_by' => Auth::user()->id]);
}

这是好方法还是我应该遵循任何其他方法。

0 个答案:

没有答案