Прежде чем пометить этот вопрос как дубликат, пожалуйста, ознакомьтесь с деталями :) У меня есть проблема, связанная с отношением многие ко многим со связью пользовательских столбцов
У меня есть следующие таблицы
Сотрудники
-Id
-brink_id <----- This is third party id I am saving of employee
-name
Работа
-id
-brink_id <----- This is third party id I am saving of job
-description
employee_job
-id
-brink_id <----- This is third party id I am saving of relationship for third party
-brink_employee_id
-brink_job_id
В модели сотрудника я создал отношения
public function jobs()
{
return $this->belongsToMany('App\Models\Job','employee_job','brink_employee_id','brink_job_id');
}
И в Джобсе Модель
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function employees()
{
return $this->belongsToMany('App\Models\Employee','employee_job','brink_job_id','brink_employee_id');
}
На самом деле я хочу, чтобы отношения "многие ко многим" были представлены с brink_id in employees table
и brink_id in jobs table
в виде таблицы brink_employee_id, brink_job_id in employee_job
без идентификатора (первичные столбцы соответствующей таблицы).
Но когда я пытаюсь вставить в сводную таблицу, используя следующую, она всегда вставляет идентификатор сотрудника, а не brink_id
$employee = Employee::with('jobs')->where('brink_id',$employeeJob['brink_employee_id'])->first();
$employee->jobs()->attach($employeeJob['brink_job_id'], ['is_active' => 1]);
Например, если brink_id в таблице сотрудников равно 123456, а ID равен 1, код выше в employee_table будет хранить 1 в employee_brink_id, а не 123456.
Пожалуйста, дайте мне знать, что я делаю неправильно.