繁体   English   中英

Laravel 中与数据透视表的模型关系

[英]Model Relationship with Pivot Table in Laravel

我有一个包含以下列的表格:

plan_submission_plan_id

h_r_admin_id

这是一个数据透视表,没有主键。

我的控制器中有以下内容:

    public function index()
{
    //Get ID of currently logged in HR Admin
    $id = Auth::guard('h_r_admin')->id();
    //Get HR Admin (for view composer)
    $admin = HRAdmin::find($id);
    //Get plan ID that is attached for HR Admin

    //Get all Plan Submissions this HR Admin is mapped to
    $plans = PSPlanToHRAdminMapping::where('h_r_admin_id', $id)->get();

    return view('hr-admin.planbuilder-submission-list', compact('plans', 'admin'));
}

在我看来,有以下几点:

       @foreach($plans as $plan)
            <tr>
                <td> {{$plan->plan_submission_plan_id}}</td>

我需要能够使用“plan_submission_plan_id”从我的 PlanSubmissions 表中查找和输出字段。 通常,如果有主键,我会在模型上创建模型关系,并使用 $plan->plansubmission->advisor 之类的内容检索字段。 但是,我认为我不能这样做,因为没有主键。

您可以使用belongsToMany( ) 和withPivot()

  public function sale_invoices()
      {
          return $this->belongsToMany(Invoice::class,'product_invoice_items', 'invoice_id', 'product_id')->withPivot(['quantity','total']);
      }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM