草庐IT

mysql - Eloquent 将缺失的属性保存为空字符串而不是 NULL

当我尝试将缺少属性的模型保存到非NULL数据库字段时,我不希望应用程序对此保持安静,我希望它在静脉中尖叫。但是使用Eloquent保存的空字符串就没问题了。为什么MyModel::create([])成功了?? 最佳答案 classBaseModelextendsEloquent{publicstaticfunctionboot(){parent::boot();static::creating(function($model){static::setNullWhenEmpty($model);returntrue;});}priv

MySQL 按日期分组并计算包括缺失日期

之前我正在执行以下操作以从报告表中获取每天的计数。SELECTCOUNT(*)AScount_all,tracked_onFROM`reports`WHERE(domain_id=939ANDtracked_on>='2014-01-01'ANDtracked_on显然,这不会给我0计数丢失的日期。然后终于找到一个optimumsolution在给定的日期范围内生成日期序列。但我面临的下一个挑战是将它与我​​的报告表结合起来,并按日期对计数进行分组。selectcount(*),all_dates.Dateasthe_date,domain_idfrom(selectcurdate()

mysql - 如何 `SELECT` 并根据以前的值制造缺失的行?

我从SELECT*FROMtableORDERBYtick,refid得到以下(简化的)结果:tickrefidvalue----------------11111222133321111123333333333333注意refid1(勾号3)和refid2(勾号2和3)的“缺失”行如果可能,我如何使用该refid的最新先前value进行查询以添加这些缺失的行?“最新”是指具有与缺失行相同的refid和最大刻度的行的值,使得刻度小于缺失行的刻度。例如tickrefidvalue----------------111112221333211111222223333331111132223

php - Laravel/Carbon Timestamp 0000-00-00 00 :00:00 or Unexpected data found. 发现意外数据。数据缺失

我在数据库中有一个时间戳,我正试图让pig保存。我要么遇到MySQL时间戳为空的问题,要么遇到错误。发布的格式是英国标准。发布数据,我尝试了以下一些:$user['crb_date']=Carbon::createFromFormat('d/m/Y',$data['crb_date']);$user['crb_date']=Carbon::createFromFormat('d/m/Y',$data['crb_date'])->toDateTimeString();//Plusmanyothermorestddate(),strtodate()combos在我的模型上,我有自定义的ge

mysql - 在 MySQL 表中插入缺失值

我将一些日内股票数据保存到MySQL表中,如下所示:+----------+-------+|tick|quote|+----------+-------+|08:00:10|5778||08:00:11|5776||08:00:12|5778||08:00:13|5778||08:00:14|NULL||08:00:15|NULL||08:00:16|5779||08:00:17|5778||08:00:18|5780||08:00:19|NULL||08:00:20|5781||08:00:21|5779||08:00:22|5779||08:00:23|5779||08:00:2

mysql - 如何从表中选择每小时计数,包括缺失的小时数?

我希望按小时收集计数。但并不是每个小时都显示在我的表格中。为了确保数据始终包含空闲时间,我构建了一个小时表,其中包含从2000年到2037年的日期时间。我想我可以LEFTJOIN数据表到这个表来跟踪丢失的时间。但这样做我需要帮助。表:date_hour:`hour`2000-01-0100:00:002000-01-0101:00:00...2036-12-3123:00:00表我的数据:log_datefield12015-05-0100:31:0010002015-05-0104:19:0020002015-05-0105:19:0010002015-05-0107:19:0010

mysql - 使用 GROUP BY 时包括缺失的(零计数)行

我有一个接收短信的应用程序。我想做的是用mysql统计一个小时内的消息。例如,早上7点我收到了10条短信,早上8点我收到了20条等等。我的表有ID、smsText、smsDate这列……(其他的并不重要)。当我运行这个脚本时:SELECTHOUR(smsDate),COUNT(ID)FROMSMS_MESSAGESGROUPBYHOUR(smsDate)它显示我每小时收到多少条消息。问题是当我没有收到任何消息时,例如在下午5点,此语句不会返回计数为0的第17行,我得到如下结果:HourCount...1510165182...,而我想要得到的是这个HourCount...1510165

sql - 如何比较两个相同表中的行并返回缺失行的结果集?

我查看了所有相关问题,但没有一个能完全满足我的需要。我有两个结构相同的表(id、VoucherNbr、BalanceInit)——一个来self们当前的生产系统(tableA),另一个来自客户的遗留系统(tableB)。表A有记录a,b,c,d,e(举例),表B有a,b,c,d,e,f,g。表B将始终具有表A中存在的所有值,但也有额外的行。我需要返回一个结果集,其中包含表B中不存在于表A中的所有行(f和g,使用该示例。)我该怎么做?编辑:表AID|VoucherNbr|BalanceInit=============================================1|1

MySQL 为给定状态填充两个日期之间的缺失日期

我有一个项目数据集。项目从头到尾更改状态,状态更改的日期记录在表中(表名为“事件”——不是我的选择)。看起来像这样(简化):DateStatus2015-06-01Start2015-06-03Stage22015-06-07Stage3在任何给定的日期范围内(动态确定),我希望能够查看哪些项目处于何种状态。但是,对数据使用BETWEEN或其他查询只会提取那些在此期间状态更改的项目,而不是仍处于给定状态的项目。我目前在Excel中创建了一个非常笨拙的解决方案,它在状态更改日期之间将行复制到新行中,如下所示:DateStatus2015-06-01Projectstart2015-06-

mysql - 在 SQL 查询中查找缺失的数字

我需要找到0到16之间缺失的数字。我的表是这样的:CarIdFromCity_IdToCity_IdRan_DateRunId10010201-08-2013110015902-08-201321001111603-08-20133100201102-08-201341002111608-08-20135我需要找出:从now()过去的三个月里,汽车没有跑过哪些城市。例如在上面的记录中:1001号车未在02-05和09-11之间运行汽车1002已完全运行(即在0-11和11-16之间)总而言之,我需要生成一个查询,显示过去3个月汽车未运行的路段,并显示上次运行日期。请问如何进行这样的查询