我如何访问数据透视表字段

时间:2020-07-05 14:02:13

标签: laravel

我开始使用Laravel进行一个小项目,我创建了一个数据透视表,现在我尝试访问我的数据透视表字段,但是却什么也没得到: 这是我的代码:

#attributes: array:13 [
    "id" => 1
    "organisation_name" => "Doukkala"
    "phone" => "xx"
    "fax" => "xx"
    "address" => "rue paris"
    "city" => "Montreal"
    "zipcode" => "24000"
    "website" => "social"
    "linkedin" => "social"
    "facebook" => "social"
    "twitter" => "social"
    "created_at" => null
    "updated_at" => null
  ]
  #original: array:16 [
    "id" => 1
    "organisation_name" => "Doukkala"
    "phone" => "xx"
    "fax" => "xx"
    "address" => "rue paris"
    "city" => "Montreal"
    "zipcode" => "24000"
    "website" => "social"
    "linkedin" => "social"
    "facebook" => "social"
    "twitter" => "social"
    "created_at" => null
    "updated_at" => null
    "pivot_user_id" => 3
    "pivot_organisation_id" => 1
    "pivot_position" => "CEO"
  ]

为什么我在原始属性中而不是在属性数组中看到枢轴字段,我应该在模型中做些事情吗?

2 个答案:

答案 0 :(得分:0)

已修复:我必须添加

protected $hidden = [];

答案 1 :(得分:0)

这个问题不是很清楚,但是据我所知。您有拥有多个用户的组织。如果您有多个属于组织的用户,请使用belongsToMany,如果您有1个属于1个组织的用户,请使用belongsTo:https://laravel.com/docs/7.x/eloquent-relationships

在Organization.php或内部的任何模型文件名中。创建一个用于描述这种关系的函数。

public function users()
{
  return $this->belongsToMany('App\User');
}

要访问视图/控制器内部的信息,您需要做的是:

controller.php

function($id)
    $organization = Organization::find($id);
    return view('view', compact('organization'));

然后,您可以使用以下方法访问中心信息:

@foreach($organization->users as $user)
    {{$user->name}}
@endforeach