2017-01-24 2 views
2

Lassen Sie uns sagen, ich habe die folgende Tabelle TheSeriesEpisodes von zusammengesetzten Schlüssel gemacht genannt (seriesID, episodeNo):Laravel finden Zeile in der Tabelle fehlt

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 

Wie Sie es 2 Serie sehen können (Serie 1 und 2). Serie 1 hat Episode 2 und 3 fehlt, Serie 2 hat Episode 4 fehlt.

Wie bekomme ich eine Liste aller fehlenden Episoden für eine bestimmte TV-Serie.

kann ich nicht darüber nachdenken, jede Methode hier gestoppt:

TheSeriesEpisodes:: 

Antwort

4

Lassen Sie uns die vergessene Nummer

$array = TheSeriesEpisodes::where('seriesID', 1)->pluck('episodeNo')->toArray(); 

Jetzt für die serielle 1

finden wir ein neues Array erstellen können, mit range. So Folge Startnummer ist standardmäßig 1, Endnummer wir leicht max($array)

$range = range(1, max($array)); 

Mit array_dif finden verwenden, können wir fehlenden Elemente erhalten:

$missing = array_diff($range, $array); 
Verwandte Themen