Laravel在表格中找到缺失的行

时间:2017-01-24 21:47:06

标签: php laravel eloquent

假设我有一张名为TheSeriesEpisodes的表,由复合键组成(seriesID,episodeNo):

seriesID | episodeNo | otherField
---------------------------------
1         1           blabla
1         4           blabla
1         5           blabla
1         6           blabla
2         1           blabla
2         2           blabla
2         3           blabla
2         5           blabla

如您所见,有2个系列(系列1和系列2)。 系列1第2集和第3集缺失,系列2第4集缺失。

如何获取特定电视连续剧的所有缺失剧集列表。

我无法想到这里停止的任何方法:

TheSeriesEpisodes::

1 个答案:

答案 0 :(得分:4)

让我们找到序列号1的遗漏号码

range

现在,我们可以使用max($array)创建一个新数组。因此,剧集起始编号是默认值1,我们可以使用$range = range(1, max($array));

轻松找到结束编号
array_dif

使用$missing = array_diff($range, $array); 我们可以找到缺少的元素:

x1 = ws2.Cells(icounter, 3)
Set ch = ActiveChart
Set s = ch.SeriesCollection(1)


nPoint = s.Points.Count
For iPoint = 1 To nPoint
If Format(x1, "0.00%") = s.Points(iPoint).DataLabel.Text Then
s.Points(iPoint).Format.Fill.ForeColor.RGB = RGB(192, 0, 0)
End If
Next iPoint