Связь модели с сводной таблицей в Laravel - PullRequest
0 голосов
/ 08 января 2020

У меня есть таблица со следующими столбцами:

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- >planubmission-> advisor. Однако я не думаю, что смогу это сделать, поскольку первичного ключа нет.

1 Ответ

0 голосов
/ 08 января 2020

вы можете использовать belongsToMany() и withPivot() пример

  public function sale_invoices()
      {
          return $this->belongsToMany(Invoice::class,'product_invoice_items', 'invoice_id', 'product_id')->withPivot(['quantity','total']);
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...