Mam model Eloquent, który ma powiązany model:
public function option() {
return $this->hasOne('RepairOption', 'repair_item_id');
}
public function setOptionArrayAttribute($values)
{
$this->option->update($values);
}
Kiedy tworzę model, niekoniecznie ma on powiązany model. Kiedy ją aktualizuję, mogę dodać opcję lub nie.
Muszę więc sprawdzić, czy powiązany model istnieje, odpowiednio go zaktualizować lub utworzyć:
$model = RepairItem::find($id);
if (Input::has('option')) {
if (<related_model_exists>) {
$option = new RepairOption(Input::get('option'));
$option->repairItem()->associate($model);
$option->save();
$model->fill(Input::except('option');
} else {
$model->update(Input::all());
}
};
Gdzie <related_model_exists>
jest kod, którego szukam.