Laravel 5.4 не будет синхронизировать модели - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь получить две модели, которые имеют определенные отношения для синхронизации, но при попытке этого одна сторона уравнения пуста.

Одна модель имеет первичный ключ, который не является обычнымусловно, но я определил это в отношениях и в модели в $ 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, ))

Надеясь, что кто-то может увидеть, где я иду, чтобы решить эту проблему.

Спасибо

...