【发布时间】:2014-07-17 14:43:48
【问题描述】:
我有一个 Eloquent 模型,它有一个相关模型:
public function option() {
return $this->hasOne('RepairOption', 'repair_item_id');
}
public function setOptionArrayAttribute($values)
{
$this->option->update($values);
}
当我创建模型时,它不一定有相关的模型。当我更新它时,我可能会添加一个选项。
所以我需要检查相关模型是否存在,分别更新或创建它:
$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());
}
};
<related_model_exists> 是我要查找的代码。
【问题讨论】:
-
真棒的问题,谢谢!并为下面的人提供了很好的答案。节省了我的项目时间。
标签: php laravel laravel-4 eloquent laravel-5