Eu tenho um modelo eloquente que tem um modelo relacionado:
public function option() {
return $this->hasOne('RepairOption', 'repair_item_id');
}
public function setOptionArrayAttribute($values)
{
$this->option->update($values);
}
Quando crio o modelo, ele não tem necessariamente um modelo relacionado. Quando atualizá-lo, posso adicionar uma opção ou não.
Portanto, preciso verificar se o modelo relacionado existe, para atualizá-lo ou criá-lo, respectivamente:
$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());
}
};
Onde <related_model_exists>
está o código que estou procurando?