Laravel 第一个或在模型中创建

Laravel 第一个或在模型中创建,laravel,laravel-4,eloquent,Laravel,Laravel 4,Eloquent,我正在向表中添加或编辑现有行 我已经查看了firstOrCreate,但我似乎无法让它工作,它总是创建一个新行 return $this->firstOrCreate(array('id' => $input['id'], 'title' => $input['title'], 'sell' => $input['sell'], 'article' => $input['article'], 'thumb' => $input['thumb'], 'galle

我正在向表中添加或编辑现有行

我已经查看了firstOrCreate,但我似乎无法让它工作,它总是创建一个新行

return $this->firstOrCreate(array('id' => $input['id'], 'title' => $input['title'], 'sell' => $input['sell'], 'article' => $input['article'], 'thumb' => $input['thumb'], 'gallery' => $input['galleryData'], 'date' => $input['date'], 'published' => $input['published']));

例如,当用户编辑标题时,是否有方法根据id搜索表格,如果存在,则更新,如果没有,则创建?

如果标题更改,则使用此方法是不合逻辑的。您提到的方法用于检查具有所有给定规格的项目

你应该做的是:

// find the item, given the ID $item = Item::firstOrNew(array('id' => $input['id'])); // add the fields from your input $item->title = $input['title']; $item->sell = $input['sell']; $item->article = $input['article']; $item->thumb = $input['thumb']; $item->gallery = $input['galleryData']; $item->date = $input['date']; $item->published = $input['published']; // Save the thing $item->save(); //找到给定ID的项目 $item=item::firstOrNew(数组('id'=>$input['id']); //从输入中添加字段 $item->title=$input['title']; $item->sell=$input['sell']; $item->article=$input['article']; $item->thumb=$input['thumb']; $item->gallery=$input['galleryData']; $item->date=$input['date']; $item->published=$input['published']; //救命 $item->save();