У меня есть следующие отношения:
Модель билета:
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 в моей таблице заявок всегда равно нулю.
Вы можете мне помочь?
Спасибо!
После ассоциации вы должны сохранить $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();
Других решений пока нет …