laravel新建数据时无法按类别保存计算数据

2023-12-13

模型花费时间

在 laravel 中创建新数据时,无法按类别保存计算数据

public static function findOrCreate($plan_id, $data)
{
    $fromDate = Carbon::now()->subDay()->startOfWeek()->toDateString();
    $nowDate = Carbon::now()->today()->toDateString();

    $spent_time = static::where('plan_id', $plan_id)->first();

    if (is_null($spent_time)) {
        return static::create($data);
    }else{
        $task_category = SpentTime::where('task_category', $spent_time->task_category)->get();
        $create_spent_times = SpentTime::where('task_category', $spent_time->task_category)->sum('daily_spent_time', $fromDate);
        $request['spent_time'] = (int)$create_spent_times + $spent_time->daily_spent_time;

        $create_spent_times = SpentTime::where('task_category', $spent_time->task_category)->sum('daily_percentage', $fromDate);
        $request['percentage'] = (int)$create_spent_times + $spent_time->daily_percentage;

        $spent_time->save();
        return $spent_time->update($data);
    }
}

追踪控制器

这是存储数据的控制器函数:

public function store(Request $request)
{      
    $spent_time = SpentTime::findOrCreate($request->get('plan_id'), [
        '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( 'spent_time'));
}

更新答案

可以创建新数据,但不能按类别计算数据

enter image description here

Model

public static function findOrCreate($plan_id, $data)
{
    $fromDate = Carbon::now()->subDay()->startOfWeek();
    $nowDate = Carbon::now()->today();

    $spent_time = static::where('plan_id', $plan_id)->first();
    if (is_null($spent_time)) {
        return static::create($data);
    }else{
        $new_spent_time = SpentTime::first();
        $task_category = $new_spent_time->task_category;

        $new_spent_time->task_category = (['{task_category}' => $task_category, 
                                        '{daily_spent_time}' => $new_spent_time->daily_spent_time,
                                        '{daily_percentage}' => $new_spent_time->daily_percentage,
                                        '{spent_time}' => $new_spent_time->spent_time,
                                        '{percentage}' => $new_spent_time->percentage, $new_spent_time->task_category]);

        $new_spent_time->spent_time = $new_spent_time::where('task_category',$task_category)
                                    ->sum('daily_spent_time', $new_spent_time->daily_spent_time , $fromDate);
        $new_spent_time['spent_time'] = (int)$new_spent_time->spent_time + $spent_time->daily_spent_time;

        $new_spent_time->percentage = $new_spent_time::where('task_category',$task_category)
                                    ->sum('daily_percentage', $new_spent_time->daily_percentage, $fromDate);
        $new_spent_time['percentage'] = (int)$new_spent_time->percentage  + $spent_time->daily_percentage;
        return $spent_time->update($data);
    }
}

控制器

public function store(Request $request)
{      
    $spent_time = SpentTime::findOrCreate($request->get('plan_id'), [
        '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( 'spent_time'));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

laravel新建数据时无法按类别保存计算数据 的相关文章

  • preg_match 所有以@开头的单词?

    我对正则表达式不太确定 所以我不得不问你 如何用 PHP 判断字符串中是否包含以 开头的单词 例如我有一个像 This is for codeworxx 这样的字符串 我很抱歉 但我没有任何起点 希望你能帮忙 谢谢 萨沙 好的 谢谢你的结果
  • 合并 csv 文件 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在 PHP 或 joomla 中将多个 CSV 文件合并为一个 csv 文件 将文件夹中 csv 文件中的所有数据合并到文本文件中 通
  • 由于重复捕获组而不是捕获重复组,正则表达式不匹配

    我有以下正则表达式 A G A G 具有以下表达式 A BsCb 我期望 3 个匹配结果 A Bs Cb 但测试在https regex101 com https regex101 com 只给我最后一场比赛Cb 并告诉我重复捕获组只会捕获
  • 匹配括号内任何字符的正则表达式

    尝试创建一个与括号内的任何字符匹配的正则表达式 我的正则表达式模式是这样的 preg match listanswer answer 括号内的所有字符串都是匹配模式 但问题是 当我尝试匹配例如 this word sample data 它
  • PHP语言问题

    我有一个 php 页面 它将邮件发送到特定电子邮件 其中包含此页面表单中的数据 邮件必须以网站的母语 阿拉伯语 发送 但是当我单击表单上的提交按钮时 收到的邮件一半可读 阿拉伯语 另一部分不可读 符号 我想知道如何解决这个问题并且能够发送邮
  • 正则表达式替换混合数字+字符串

    我想删除所有包含数字的单词 示例 LW23 London W98 String 从上面的字符串中我唯一想保留的是 London String 这可以用正则表达式来完成吗 我目前正在使用 Python 但 PHP 代码也很好 Thanks E
  • Laravel 5.6 - 注册表无法正常工作并且不显示任何错误

    在我最近的一个项目中 定制登记表不管用 当我单击注册按钮时 它会重新加载注册表单 不会打印任何错误 并且不会将数据插入数据库中 这是注册表的外观 这里是移民文件代码 public function up Schema create user
  • 在 Laravel 中按数据透视表 create_at 排序

    在我的数据库中 我有以下表格 courses id 名称 创建时间 更新时间 students id 名称 创建时间 更新时间 课程 学生 id course id student id created at updated at 我正在尝
  • 如何在PHP中将图像从内存上传到AWS S3?

    所以我目前有一个使用 AWS S3 上传图像的上传系统 这是代码 Upload image to S3 s3 Aws S3 S3Client factory array key gt mykey secret gt myskey try s
  • Mandrill 验证错误

    很高兴能在 StackOverflow 上提出我的第一个问题 多年来我一直依靠它自学了很多东西 我的问题是这样的 尝试通过 Mandrill 的 API 发送邮件时出现以下错误 status error code 1 name Valida
  • 从文本文件 PHP 读取数据

    我只是想知道如何在 php 中读取文本文件 我想让它显示文本文件中的最后 200 个条目 每个条目都在一个新行上 Like John White Jane Does John Does Someones Name 等等 Thanks Use
  • 如何从列表创建多维数组?

    我在 MySQL 中有一个带有父 ID 的类别列表 如何从列表中创建 PHP 数组 ID Category Parent ID 1 Car NULL 2 Education NULL 3 Mathematics 2 4 Physics 2
  • 将价格格式设置为逗号分隔

    在我的数据库中 我有类似的值 256 23 200 33 89 33 133 45 我必须将这些值乘以千 然后将结果格式化为价格 逗号分隔 256 23 x 1000 256230 I want to show this as 256 23
  • 如何在php中关闭夏令时

    我有这行代码将夏令时设置为 打开 将其设置为 关闭 的正确方法是什么 is daylight saving On rcmail config dst active bool date I date I 这是一个大写字母 i 当当前默认时区
  • 在 Windows 上查看 PHP 文件夹

    我正在编写一个简单的 PHP 脚本来监视文件夹及其子文件夹的任何更改 新文件 修改 删除 然后执行操作 我将使用 Windows 上的命令行运行此脚本php f script php 我一直在寻找一种在 Windows 上观看具有 PHP
  • Apache 2.4.9 在启用 ssl 模块并设置 ssl 证书后失败

    Apache 在尝试设置 ssl 证书后抛出以下错误 ssl emerg pid 30907 AH02572 Failed to configure at least one certificate and key for localhos
  • 如何创建可以从任何控制器和刀片文件访问的全局函数

    我有两个控制器文件 homecontroller 和 backendcontroller 创建全局函数并从两个文件访问它的最佳方法是什么 I found here https stackoverflow com questions 3241
  • PHPunit - 错误

    当 PHPunit 框架不希望发生的错误发生时 测试会停止 PHP 会抛出错误 但 PHPunit 不会记录这是一个错误 我如何确保 PHPunit 将其记录为错误 免责声明 我是 PHPUnit 的新手 我也试图弄清楚 发生错误时会发生什
  • 准备好的语句需要 0 个参数,给定 1 个参数..,使用 php 手册示例 [重复]

    这个问题在这里已经有答案了 我直接从 php 手册示例中获取了这个 它几乎与我需要的相同 但我仍然收到此错误 有人可以告诉我我错过了什么吗 stmt link gt prepare SELECT obitBody Photo FROM tn
  • MYSQL 的 Google OAuth 2.0 用户 ID 数据类型

    我正在实施 Google OAuth 2 0 并注意到 Google OAuth 返回的唯一用户 ID 是21位数字长的 我想大整数 20 足以满足这种需求 但我现在看到 Google OAuth 返回的用户 ID 的长度感到困惑 关于我应

随机推荐

  • 在 Microsoft Visual Studio 2013 的 WinForms 中启用 Entity Framework 6 for MySql (C#)

    昨天我知道实体框架是除了使用 Dataset 或 DataReader 之外访问数据库的另一种方法 然后我尝试使实体框架 6 适用于 MVS 2013 中的 MySql 数据库服务器 我使用 Net FrameWork 4 5 1 打开 W
  • 如何使用 Beautiful Soup 提取没有属性的

    标签?

    假设一个网页包含以下内容 p style display none p
  • ASP.NET 应用程序内存使用率较高

    我们的一些 ASP Net 应用程序存在问题 我们的一些应用程序从一开始就占用大量内存作为其工作集 在我们的 2 个 webfarm 服务器 每个 4GB RAM 上运行多个应用程序 我们有一个稳定的环境 大约有 1 2GB 的可用内存 然
  • 使用 CLGeocoder 的正向地理编码示例

    除了 Apple 文档之外 还有有关工作示例的说明或有关如何使用正向地理编码的一些指南 这很通用 我无法理解 拜托 这太好了 还有人知道他们是使用 Google API 来实现相同的还是他们自己的吗 发现这个有效 但如果其他人发现它有用 我
  • 从映射缓冲区写入“O_DIRECT”输出文件

    我有一个写入视频缓冲区的设备 该缓冲区是使用 CMA 在系统内存中分配的 我想实现从该缓冲区到块设备的流式写入 我的应用程序使用 mmap 打开视频缓冲区 我想使用O DIRECT写入以避免与页面缓存相关的开销 基本上 应用程序的伪代码如下
  • 在java中使用SAX解析大型XML

    我正在尝试解析堆栈溢出数据转储 其中一个表称为 posts xml 其中包含大约 1000 万个条目 示例 XML
  • 使用多个对象作为键的哈希/关联数组

    有没有一种方法可以创建一个关联数组 其中每个键都是多个对象的哈希值 我对检查每个对象的状态不感兴趣 而是对对象的身份感兴趣 var myarray var a new A var b new B var c new C is not rig
  • 如何解决 CSS 文件中的“序言中不允许字符”错误

    我有财产声明h3 color 333 在我的 CSS 文件中 当我检查我的 CSS 文件时https validator w3 org 表明 序言中不允许出现字符 h 我的 h3 标签有什么问题 序言 是什么意思 有人可以解释一下吗 htt
  • 从 db2 导出带有列名的数据

    我想将 db2 表中的数据导出为 csv 格式 我还需要第一行应该是所有列名称 我使用以下命令几乎没有成功 EXPORT TO TEST csv OF DEL MODIFIED BY NOCHARDEL coldel SELECT col1
  • 值中带有数组的 NUnit 顺序属性

    我怎样才能通过string 数组到 ValuesAttribute I have public string Array1 new new test1 test2 Test Sequential public void SomeTest V
  • 用于 Avaya IVR 和 CTI 集成的 Java 客户端

    我正在寻求开发一个 Java 客户端 用于将 Avaya IVR 集成到 CTI 我有两个问题 IVR输出的格式是什么 如何使用JAVA读取此内容 我想开发一个java程序 它能够读取呼叫者提供给IVR的输入 并据此采取一些行动 Avaya
  • 确定 C++0x 可用性

    我试图确定编译时 C 0x 功能是否可用 有通用的预处理器宏吗 我使用的是 Visual Studio 2010 的编译器和 Intel 的编译器 宏观 cplusplus will 有一个价值比 更棒199711L 也就是说 并非所有编译
  • 赋值运算符与自定义构造函数的关系

    include
  • CursorAdapter如何在android上的GridView中工作

    我在 gridview 上使用光标适配器时遇到问题 我使用光标从媒体商店加载照片 我意识到我的 newView 和 bindView 被完全调用了 我的意思是假设我有 500 张照片 newView 也会被调用相同的次数 我做错了什么吗 我
  • TPL 和 async/await 之间的区别(线程处理)

    尝试了解 TPL 和 TPL 之间的区别async await当谈到线程创建时 我相信 TPL TaskFactory StartNew 的工作原理类似于ThreadPool QueueUserWorkItem因为它在线程池中的线程上排队工
  • JSOUP HTML 解析器

    有没有办法得到起始行号和列号 and 结束行号和列号元素 标签 我正在创建 HTML 编辑器 需要突出显示标签以根据给定的某些场景进行速度优化起始和结束行号和列号 不 不幸的是 目前 jsoup 无法做到这一点 目前 Jsoup 不跟踪行号
  • Facebook Connect 和相册

    我目前正在为模特 演员开发一个网站 此时我只是想确定我可以使用 Facebook Connect 做什么和不能做什么 我几乎没有使用 Facebook Connect 或 FQL 的经验 基本上将会有一个设施 用户可以上传他们的照片 我想知
  • 在Android中播放Vimeo视频,视频url包含iframe

    你好 我正在开发 Android 应用程序 我想在其中播放 vimeo 视频 我从 json 中的 Api 获得响应 并使用 webview 播放视频 并且播放效果很好 但是 webview 显示非常小 播放的视频也很小 问题是 我希望播放
  • Mysql更改默认引擎

    如何将mysql引擎改为MYISAM 现在我有 INNODB 的 mysql 但我想将引擎更改为 MYISAM 我必须做什么 CREATE TABLE classifieds category id int 11 NOT NULL AUTO
  • laravel新建数据时无法按类别保存计算数据

    模型花费时间 在 laravel 中创建新数据时 无法按类别保存计算数据 public static function findOrCreate plan id data fromDate Carbon now gt subDay gt s