【发布时间】:2018-12-13 20:34:35
【问题描述】:
我有 2 个模型:User 和 Account。
Account 是一个公司帐户,它有一个slug 字段。需要 Slug 来确定用户正在访问哪个公司。例如,路由/account/*company_slug*/deals 表示用户试图获取company_slug 公司的一系列交易。
与公司关联的每个实体都有一个字段account_id。这就是为什么我需要获得一个经常账户。我应该在哪里以及如何做?
例如,我使用以下代码获取中间件CheckIfAccountAcceptedForUser:
public function handle($request, Closure $next)
{
$account = Account::find($request->route()->parameter('account'));
abort_if(empty($account), 404) ;
abort_if(DB::table('account_user')
->where(function (Builder $query) use ($account) {
$query->where('account_slug', '=', $account->slug);
$query->where('user_id', '=', Auth::id());
})
->get()
->isEmpty(), 403);
return $next($request);
}
如果路由类似于/account/*account*/...,如何为我的应用程序全局设置account_id?
【问题讨论】: