Laravel 5.5 -- 为经过身份验证的用户和来宾用户分隔 table
Laravel 5.5 -- Separate table for authenticated users and guest users
我对主题 Laravel 5.5 的搜索 -- 已验证用户和来宾用户的分隔 table 已导致已验证的单独 URL和来宾用户。但是,我有一个 table,其中很少有字段适用于所有用户,其余仅适用于经过身份验证的用户。我应该拆分 table 吗?
我想拆分 table,因为 return 下面的函数包含所有列。在视图中,我只选择要显示的特定字段。如果有人在没有浏览器的情况下发出 GET 请求,那么 return 所有列都不会与用户类型无关。
public function show(Balancesheet $Balancesheet) {
return view('Balancesheets.show', compact('Balancesheet'));
}
如果你想得到一个特定的列,你可以使用'pluck()'方法,它允许你select一个特定的列。如果您的 Laravel 版本较旧,则 5.3 将 pluck 重命名为 lists
:
if(\Auth::user()) {
User::pluck('user_column')->all();
} else {
User::pluck('guest_column')->all();
}
如果您需要不止一列,您可以在 get()
方法中选择它们:
if(\Auth::user()) {
query->get(['guest','columns']);
} else {
query->get(['user','columns']);
}
我发现以下代码更有用。
public function show(Balancesheet $Balancesheet) {
if(\Auth::user()) {
$Balancesheet = Balancesheet->take(10)->select('name', 'slug')->get();
} else {
$Balancesheet = Balancesheet->select('cashflow', 'district')->take(10)->select('name', 'slug')->get();
}
return view('Balancesheets.show',compact('Balancesheet'));
}
我对主题 Laravel 5.5 的搜索 -- 已验证用户和来宾用户的分隔 table 已导致已验证的单独 URL和来宾用户。但是,我有一个 table,其中很少有字段适用于所有用户,其余仅适用于经过身份验证的用户。我应该拆分 table 吗?
我想拆分 table,因为 return 下面的函数包含所有列。在视图中,我只选择要显示的特定字段。如果有人在没有浏览器的情况下发出 GET 请求,那么 return 所有列都不会与用户类型无关。
public function show(Balancesheet $Balancesheet) {
return view('Balancesheets.show', compact('Balancesheet'));
}
如果你想得到一个特定的列,你可以使用'pluck()'方法,它允许你select一个特定的列。如果您的 Laravel 版本较旧,则 5.3 将 pluck 重命名为 lists
:
if(\Auth::user()) {
User::pluck('user_column')->all();
} else {
User::pluck('guest_column')->all();
}
如果您需要不止一列,您可以在 get()
方法中选择它们:
if(\Auth::user()) {
query->get(['guest','columns']);
} else {
query->get(['user','columns']);
}
我发现以下代码更有用。
public function show(Balancesheet $Balancesheet) {
if(\Auth::user()) {
$Balancesheet = Balancesheet->take(10)->select('name', 'slug')->get();
} else {
$Balancesheet = Balancesheet->select('cashflow', 'district')->take(10)->select('name', 'slug')->get();
}
return view('Balancesheets.show',compact('Balancesheet'));
}