Я пытаюсь получить две модели, которые имеют определенные отношения для синхронизации, но при попытке этого одна сторона уравнения пуста.
Одна модель имеет первичный ключ, который не является обычнымусловно, но я определил это в отношениях и в модели в $ primaryKey
Model One (LinesCompany):
class LinesCompany extends Model
{
protected $table = 'lines_companies';
protected $primaryKey = 'participant_id';
public $incrementing = false;
public function fuel()
{
return $this->belongsToMany(Fuel::class, 'fuel_lines_company', 'participant_id', 'fuel_id');
}
}
Model Two (Топливо):
class Fuel extends Model
{
public function linesCompany()
{
return $this->belongsToMany(LinesCompany::class, 'fuel_lines_company', 'fuel_id', 'participant_id');
}
}
Таблица (fuel_lines_company):
id (primary) | fuel_id (foreign) | participant_id (foreign points to lines_companies table)
Код:
public function addLinesCompany(Request $request, $linesCompany)
{
$LinesCompany = new LinesCompany;
$LinesCompany->participant_id = $linesCompany;
$LinesCompany->code = $request->get('linesCode');
$LinesCompany->geography = $request->get('geo');
$LinesCompany->website = $request->get('web');
$LinesCompany->emergency_number = $request->get('phone');
$LinesCompany->review_process = $request->get('review');
try{
DB::beginTransaction();
$LinesCompany->save();
$LinesCompany->id = $LinesCompany->participant_id;
$LinesCompany->fuel()->sync($request->get('linesFuel'));
DB::commit();
return true;
} catch(PDOException $e){
DB::rollback();
return 'An error occured adding the Lines Company.';
}
}
Сообщение об исключении:
(3/3) QueryException
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'participant_id' cannot be null (SQL: insert into `fuel_lines_company` (`fuel_id`, `participant_id`) values (2, ))
Надеясь, что кто-то может увидеть, где я иду, чтобы решить эту проблему.
Спасибо