当前位置: 首页 > 知识库问答 >
问题:

使用外键访问Laravel中的3个表(Laravel 6)

荆利
2023-03-14

我想显示来自特定用户的数据库(sql)的数据。

我有3个表:用户存储区域

以下是表之间的关系:

用户有一个区域区域有许多商店

基本上我想展示的是,每个用户都有自己的区域,有很多商店。

用户模型

function area() {
    return $this->hasOne('App\Area');        
}

面积模型

 function user() {
    return $this->belongsTo('App\User');
}

function stores() {
    return $this->hasMany('App\Store');
}

商店模型

function area() {
    return $this->belongsTo('App\Area');
}

我的数据库看起来像这样:

用户表
id名称角色\u id区域\u id

区域表
id nameuser_id

存储表
id名称区域\u id

我如何访问用户-

这就是我目前得到的

function show() {
    $id= Auth::user()->id;
    $user = User::find($id);
    echo($user->area->stores);
}

谢谢你

共有1个答案

祁辰阳
2023-03-14

您可以使用hasManyThrough获取一个区域的sotres:

在用户模型中定义存储功能

public function stores()
{
    return $this->hasManyThrough(Store::class, Area::class);
}

并使用它:

$stores = auth()->user()->stores;

我希望有用。

 类似资料:
  • 我对Laravel和数据库都是新手。我正在写一个学生评估的网络应用程序。我有一个现有的MySQL数据库,它已经包含了我所需要的一切;但是,我正在使用Laravel的auth user表,并尝试添加一个外键,该外键引用MySQL数据库中的教师表。我一直得到以下错误。。。 在Connection.php第664行: SQLSTATE[HY000]:一般错误:1215不能添加外键约束(SQL:改变表添加

  • 我们系统的所有用户都来自一个主“用户”类。同样,我们希望以相同的方式构造数据库,拥有一个主“用户”表,该表与特定用户类型的必要表连接,以提供额外的用户信息。 以这三个基本表格为例: 表用户 user_id|user_email|user_firstname|user_lastname|... 表雇员 user_id|employee_staff_number|... 表管理 user_id|adm

  • 我正在拉维尔创建一个项目。我有两个数据库表,它们是通过迁移创建的:我想在数据库模式中设置多个外键。 表用户 我想知道的是如何描述模型中的关系? 编辑: 我计划使用此关系,每个用户都属于部门,任何部门都有多个用户,每个用户只有一个部门

  • 问题内容: 我正在开发一个应用程序,该程序将管理注册课程的学生。该应用程序将具有可以登录并操纵学生的用户。用户还可以对学生进行评论。因此,我们的三个主要班级是学生,用户和评论。问题是我需要将个人评论与其他两个模型相关联:用户和学生。所以我从这样的一些基本代码开始… 因此,在注释表中,单个记录将具有以下字段: 这带来了几个问题。首先,用于创建关联对象的漂亮的Rails语法会分解。如果要发表新评论,则

  • 我使用的是带有vue前端的larvel后端。它们通过API连接。我一直在试图找出如何正确提交与父模型有关系的模型的表单。 这里是关系 用户有许多任务 一个任务属于用户 客户有许多约定 订婚属于客户 约定和任务有多对多 用户和客户没有直接关系 所以我知道,如果我想提交一个帖子请求与用户有关系的数据,分配如下foreign_key很简单 *范例 但当我尝试做同样的事情为我的客户端我得到一个500内部服

  • 我使用的框架Laravel。 我有两个表(用户和人员)。我想将persons表的主键person\u id存储在users表的外键person\u id中。目前我使用这个$user- 表用户 餐桌上的人 索引操作 商店行动 用户迁移 人员迁移 模型用户 模范人物 我只想改变这个:$user-