如何使用 slug 或 id 创建路由
How to create a route with slug or id
如何通过路线调用带有 ID 或 slug 的用户个人资料?
如果用户调用他自己的配置文件,它应该能够通过 slug profile / {slug} 打开它
如果访问的配置文件的隐私为 3,则只能通过 ID 访问它。简介/ {id}
在不同的隐私中,它应该只能通过slug调用。
我尝试了代码,但不幸的是它不起作用。
public function index($param)
{
$user = User::firstOrFail();
if(Auth::user() === $user){
$user = User::where('slug', $param)->first();
}elseif ($user->profile->privacy === 3){
$user = User::where('id', $param)->first();
}else{
$user = User::where('slug', $param)->first();
}
}
路线:
Route::get('/profile/{param}', 'Profile\ProfilesController@index')->name('profile');
$param
参数将接收用户 ID 或 slug,所以请尝试以下代码:
public function index($param)
{
$user = User::where('slug', $param)->first();
if($user)
{
if($user->profile->privacy === 3)
{
// This user profile cannot access via slug
}
// User Accessible via slug
}
else
{
$user = User::where('id', $param)->first();
}
}
不在 3 个配置文件中的用户自己的配置文件和隐私级别可通过 slug 访问,因此您不想检查是否是 auth 用户访问他自己的配置文件。
如何通过路线调用带有 ID 或 slug 的用户个人资料? 如果用户调用他自己的配置文件,它应该能够通过 slug profile / {slug} 打开它 如果访问的配置文件的隐私为 3,则只能通过 ID 访问它。简介/ {id} 在不同的隐私中,它应该只能通过slug调用。
我尝试了代码,但不幸的是它不起作用。
public function index($param)
{
$user = User::firstOrFail();
if(Auth::user() === $user){
$user = User::where('slug', $param)->first();
}elseif ($user->profile->privacy === 3){
$user = User::where('id', $param)->first();
}else{
$user = User::where('slug', $param)->first();
}
}
路线:
Route::get('/profile/{param}', 'Profile\ProfilesController@index')->name('profile');
$param
参数将接收用户 ID 或 slug,所以请尝试以下代码:
public function index($param)
{
$user = User::where('slug', $param)->first();
if($user)
{
if($user->profile->privacy === 3)
{
// This user profile cannot access via slug
}
// User Accessible via slug
}
else
{
$user = User::where('id', $param)->first();
}
}
不在 3 个配置文件中的用户自己的配置文件和隐私级别可通过 slug 访问,因此您不想检查是否是 auth 用户访问他自己的配置文件。