所以我有一個路線基本/ {USER_ID}Laravel使用用戶ID
我如何重定向用戶到當他們點擊鏈接該URL?
這裏是我的控制器:
{
function checkid($user_id) {
if (Auth::check())
{
$user_id = Auth::id();
return view('profile', [
'id' => $user_id
]);
}
}
}
所以我有一個路線基本/ {USER_ID}Laravel使用用戶ID
我如何重定向用戶到當他們點擊鏈接該URL?
這裏是我的控制器:
{
function checkid($user_id) {
if (Auth::check())
{
$user_id = Auth::id();
return view('profile', [
'id' => $user_id
]);
}
}
}
與問題混淆的地方,但Laravel使用ID作爲依賴注入的默認值,並且更改它很簡單:只需在模型中更改模型中的routeKey,但您使用的是登錄用戶。所以忘了ID!
<?php
namespace App\Http\Controllers;
class RandomController extends Controller {
public function index()
{
return view('profile');//use auth facade in blade.
}
}
在你的路由使用中間件,以防止沒有經過驗證的用戶到達這個方法
<?php
Route::group('/loggedin', [
'middleware' => 'auth',
], function() {
Route::get('/profile', '[email protected]')->name('profile.index');
});
我們在刀片文件重定向使用路由功能,不要忘了,如果清除緩存你已經緩存了你的路線!
<h1>Hi! {{Auth::user()->name}}</h1>
<a href="{{route('profile.index')}}">View profile</a>
因爲我在路由上使用了名稱方法,我可以將該路由名稱傳遞給路由函數。使用php artisan route:list
將列出所有你很酷的路由參數,因爲它也會告訴你名字和中間件等。
如果我有一個需要參數的路由;路由函數接受一個params數組作爲第二個參數。 route('profile.index', ['I_am_a_fake_param' => $user->id,])
。
讓我知道你是否需要別的幫助。
您可以用redirect()
輔助方法,這樣的重定向:
return redirect()->url('/profile/' . $user_id);
但我真的不按照你的用例?你爲什麼要重定向?你總是希望用戶去他們自己的個人資料?因爲現在你使用的是來自已認證用戶的ID,所以user_id
參數幾乎沒有用處。
什麼名單?你的控制器在哪裏?在發佈之前,你有沒有證明你的問題? – sisve
misstyped抱歉,它應該說「鏈接」 – Przemek
什麼鏈接?這個問題中沒有任何鏈接。也沒有控制器。 – sisve