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

Laravel:如何使用透视表从另一个表中检索信息?

须景胜
2023-03-14

问题是我有表格,我想得到它的所有成员。

我创建了一个表透视分组,它从表表单中检索form_id,并从表用户中user_id。但是当我试图检索信息时,我得到了这个:尝试读取bool上的属性“firstname”(视图:/.../资源/视图/分组/list.blade.php)

在我的模型中,我有:窗体:

public function user()
    {
        return $this->belongsTo(User::class);
    }

    public function groupe()
    {
        return $this->belongsToMany(Groupe::class);
    }

用户:

public function forms()
    {
        return $this->hasMany(Forms::class);
    }

public function groupe()
    {
        return $this->belongsToMany(Groupe::class);
    }

list.blade.php($表单对应于我之前在所有表单中创建的一个表单):

@foreach($forms->user as $user)
  {{$user->firstname}}
@endforeach

共有1个答案

周奇
2023-03-14

Groupe是数据透视表,其中包含用户id和表单id。如文档所述,如果数据透视表未按字母顺序(在本例中应为form\u user)连接两个相关模型名称,则需要包含表名,即Groupe

public function groupe(): BelongsToMany
{
    return $this->belongsToMany(Groupe::class, 'groupe');
}

如果您想获取formUser,那么:

public function getFormWithUser()
{
    $form = Form::with('groupe')->first();
}

*注意:但是我对User模型中的form关系有点困惑,反之亦然,如果这个关系是多对多(因为有group透视模型),它们如何与每个其他直接?

 类似资料:
  • 我已经为用户、移位、模式创建了三向透视表。它称为pattern_shift_user。 [pattern_shift_user。][1] 它通过多对多的关系来引用这三个模型这里是用户模型的视图,它链接了模式模型和shift模型[user model][2] 我对每个模型都做了同样的操作, 我现在遇到的问题是将信息放入Laravel的表中。我想要3列标题日期/天,班次,站。 我可以得到我想要显示的所

  • 我对定义关系和框架都是新手,我只是习惯了原始SQL。我做了家庭作业(google Laravel文档),但我想我只是没有正确理解它。 以下是相关信息:用户表: 挑战表: 用户挑战链接 Challenge_sub_categories 所以我的目标...用户- 这些关系: 一个用户有很多User_challenge_links User_challenge_link有challenge_sub_ca

  • 我有下面的表格,我想检索每个喜欢评论的用户喜欢的评论的数量(类似于Instagram评论,任何人都可以喜欢其他用户的评论) 它用于保存评论链接,看起来像Instagram评论,任何用户都可以喜欢其他用户的评论。 这是我的用户模型代码: 以下是我的Ask模型代码: 这是我的用户模型代码: 这是我的评论模型代码: 我想用他们的评论检索最新的ask,包括评论的数量和数据** 我使用了这个代码,但它显示错

  • 问题内容: 我是一起定义关系和框架的新手,我只是习惯于原始SQL。我做了家庭作业(google + Laravel文档),但是我认为我不太了解它。 以下是相关信息:用户表: 挑战表: User_challenge_links Challenge_sub_categories 所以我的目标..用户->挑战。 关系: 一个用户有许多User_challenge_links 一个User_challen

  • 我正在尝试使用复选框进行标记删除。假设用户有大约10个产品,每个产品都有3个不同的标签。 当前用户只能删除单个标记。每次标记删除后,页面刷新,他可以删除另一个标记。这不是真正的用户友好。这就是为什么我尝试对标记进行多重选择,并在单击一个按钮时删除所有选定的标记。 这就是它现在的样子: 我的问题是我需要产品id标签id来分离它们。 如果按delete(删除)按钮,则会将此数据传递到控制器: 主要的问

  • 我试图创建一个关系,通过一个名为年级的模型访问一个名为注释的表,通过年级中的学生加载 年级模型和学生模型都属于其他模型 根据我的理解,不可能访问需要透视表的hasManyThrough关系(注释没有年级标识符,只有学生标识符) 我为Laravel 4@HasManyThrough找到了这些函数,它们具有一对多关系,但它给了我一个错误类“App\illumb\Database\Eloquent\Re