Laravel сохранить отношение от ввода

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

Модель билета:

public function status()
{
return $this->belongsTo('App\Status');
}

Модель состояния:

public function tickets()
{
return $this->hasMany('App\Ticket');
}

Функция TicketController create ()

$statuses = Status::get()->lists('name', 'id');
return view('backend.tickets.create', compact('statuses'));

Посмотреть create.blade.php

{!! Form::select('status', $statuses, null, ['class' => 'form-control'])  !!}

Функциональный магазин TicketController ()

// Get the selected status from input and find the Status
$status = Status::where('id', '=', $request['status'])->first();

// Associate status to ticket
$ticket->status()->associate($status);

Это не работает. В базе данных status_id в моей таблице заявок всегда равно нулю.

Вы можете мне помочь?

Спасибо!

0

Решение

После ассоциации вы должны сохранить $ticket:

// Get the selected status from input and find the Status
$status = Status::where('id', '=', $request['status'])->first();
// or better
$status = Status::find($request['status']);

// Associate status to ticket
$ticket->status()->associate($status);

// Save the ticket
$ticket->save();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]