为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Laravel 6 中使用动态字段返回视图

如何在 Laravel 6 中使用动态字段返回视图

PHP
拉风的咖菲猫 2022-01-24 09:35:18
我有一个名为 的 html 页面profile.blade.php,其中包含一个锚标记:<a href="{{ route('profile', $user->id) }}">{{$user->name}}</a>我有这样的路线:Route::get('/profile/{id}', 'ProfilesController@index')->name('profile');我有一个ProfilesControllerindex 方法返回一个拥有配置文件的用户:public function index(){   $userId = //somehow get the data sent from the anchor tag   $user = $this->usersService->getProfileOwner($userId);   return view("profile", [      'user' => $user ?? []   ]);}如何更改此代码,例如当 id 为 1 的用户访问 id 为 2 的用户的个人资料时,索引函数将用户 2 的详细信息返回到blade模板?
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

Laravel 带有一个方便的路由模型绑定,因此您可以使用依赖注入直接从路由 URL 获取模型


public function index(User $user)

{

   return view("profile", [

      'user' => $user ?? []

   ]);

}

<a href="{{ route('profile', ['user' => $user]) }}">{{$user->name}}</a>

Route::get('/profile/{user}', 'ProfilesController@index')->name('profile');


查看完整回答
反对 回复 2022-01-24
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

Laravel 自动绑定类到方法


use App\User;


public function index(User $user)

{

   return view("profile",compact('user'));

}


查看完整回答
反对 回复 2022-01-24
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

正如上面的答案,我建议您使用模型绑定。


但是在您的代码中,您可以执行以下操作:


public function index($id)

{

    $user = $this->usersService->getProfileOwner($id);


    return view("profile", [

       'user' => $user ?? []

    ]);

}

如果 $id 总是 int,你也可以输入提示。


查看完整回答
反对 回复 2022-01-24
  • 3 回答
  • 0 关注
  • 177 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信