laravel - 在 Laravel 中查找或创建

标签 laravel controller eloquent

我想创建数据,但如果数据已在数据库中,它将更新。但如果数据尚未存在于数据库中,它将创建新数据。

这是我的 Controller

public function store(Request $request)
{      
    $real = SpentTime::findOrCreate([
        'plan_id' => $request->get ('plan_id'),
        'daily_spent_time' => $request->get ('daily_spent_time'),
        'daily_percentage' => $request->get ('daily_percentage'),
        'reason' => $request->get ('reason')
    ]);

    return redirect()->route('real.index', compact( 'reals'));
}

这是我的模型

public static function findOrCreate($plan_id)
{
    $real = SpentTime::find($plan_id);
    return $real ?: new SpentTime;
}

当我在数据库中创建数据时,数据不会更新。

最佳答案

尝试这样

$user = User::firstOrNew(array('name' => Input::get('name')));
$user->foo = Input::get('foo');
$user->save()

关于laravel - 在 Laravel 中查找或创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52732726/

相关文章:

angularjs - Angular : duplicate in calling controller's function

php - Laravel 5 Eloquent 比较日期返回 0 行,DB::table 返回行

mysql - SQLSTATE [HY000] [1045] 拒绝用户 'root' @'172.19.0.4' 与 Docker 的访问

laravel - 如何在laravel中显示除开发人员错误以外的适当错误

java - 如何在服务器上存储图像,以便可以将带有 id 的图像路径作为 map 存储在属性文件中,以便我们可以根据 id 获取图像

laravel - 如何使用模型类在 laravel 8 资源 Controller 中编辑、销毁和获取单个值?

php - 从 Laravel 5 中的动态表单将多行保存到数据库

php - 如何使用具有日期条件的其他表减去整数数据?

php - Laravel Eloquent - 查询数据透视表

php - 为什么我会收到 "Class ' Artisan' not found” 错误?