【问题标题】:Show data for only a specific user in Laravel在 Laravel 中仅显示特定用户的数据
【发布时间】:2023-04-10 18:08:01
【问题描述】:

我正在构建一个 Laravel 网站,人们可以在其中将任务发布到数据库中。目前,当我通过表单发布任务时,每个帐户都可以看到数据。如何仅显示发布数据的特定人员的数据?

非常感谢您。

【问题讨论】:

    标签: database laravel


    【解决方案1】:

    如果您的用户已经登录,您可以通过 Auth::user()->id 检索他们的 id;

    在您的 index() 方法中删除 $tasks = Task::all(); 并添加

    $userId = Auth::user()->id;
    $tasks = Task::where('user_id',$userId)->get();
    

    希望这会有所帮助

    【讨论】:

    • 非常感谢您的回复,然后它在任务表中搜索了一个user_id,但user_id在用户表中。有没有办法在另一个表中搜索 user_id?任务表:gyazo.com/52c0ec2841a89cc1876906046d094b3e 用户表:gyazo.com/cefd9b240399d20ce534edfa8278f98f
    • 不,您应该将 user_id 添加到任务表中,这将是用户表的外键。否则,您将无法存储特定用户的任务。添加 user_id 是一种很好的做法。关系是 Rdbms 的重要组成部分。您应该始终以标准方式设计您的 dB。您的 dB 中的一个整数列不会占用太多空间
    • 谢谢你,这行得通!只有当我现在创建一个任务时,它不会自动将 user_id 分配给用户,我必须手动将 user_id 设置为数据库中的用户?
    猜你喜欢
    • 2020-10-25
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2013-08-16
    • 2018-04-19
    • 2023-04-06
    相关资源
    最近更新 更多