【问题标题】:firstOrCreate in model首先或在模型中创建
【发布时间】:2014-03-27 23:52:04
【问题描述】:

我要么添加到我的表中,要么编辑现有行。

我已经查看了 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 搜索表,如果存在则更新,如果不存在则创建?

【问题讨论】:

    标签: laravel laravel-4 eloquent


    【解决方案1】:

    如果标题发生变化,那么使用这种方法是不合逻辑的。您提到的方法检查具有所有给定规格的项目。

    你应该做什么:

    // 给定 ID 找到项目 $item = Item::firstOrNew(array('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']; // 保存东西 $项目->保存();

    【讨论】:

      猜你喜欢
      • 2014-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多