【问题标题】:Laravel - Fetch data from other table column from linked key columnLaravel - 从链接键列的其他表列中获取数据
【发布时间】:2021-12-01 13:48:16
【问题描述】:

我有 2 张桌子。 (1) 是用户,(2) 是食物。

在 [users] 表中,有一个 food_id 括号,它作为外键链接到另一个表 [foods] 中的项目/列的 id。我希望能够通过 [users] 表中的 user_id 链接获取另一列中的数据。

我不知道该怎么做,尽管阅读了文档,但我还是初学者,这是我的任务的一部分。我尝试了一些可能的解决方案,但都失败了。

我有一个控制器,我在其中将函数引用到一个视图中,该视图将显示与当前登录用户相关的食物项/列,并带有一个 if 语句验证是否存在某个数据以显示 HTML块对象。

public function browseReserved()
    {
        //
        
        $user = User::find(auth()->user());
        $foodId = $user->where('food_id')->id;
    }

那么,我如何从另一个表中的项目中获取数据,从链接到该项目 id 的数据键中获取数据?

【问题讨论】:

    标签: php laravel database laravel-blade


    【解决方案1】:

    在用户模型中添加关系

    public function food(){
    
      return $this->belongsTo(Food::class);
    }
    

    然后在控制器中

    public function browseReserved()
    {
       $user = User::with('food')->find(auth()->id());
      
      dd($user->food);
    }
    

    【讨论】:

    • 谢谢,我现在可以访问了! :)
    【解决方案2】:

    与@john lobo 答案相同,但您可以在用户模型上添加外键

    public function food(){
    
      return $this->belongsTo(Food::class,'food_id');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-04
      • 1970-01-01
      • 2018-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多