4D v18

entitySelection.slice()

Home

 
4D v18
entitySelection.slice()

entitySelection.slice()  


 

Die Methode entitySelection.slice() gibt einen Teil einer Entity-Selection in einer neuen Entity-Selection zurück, ausgewählt vom Index startFrom bis end (end ist nicht enthalten). Diese Methode gibt eine flache Kopie der Entity-Selection zurück, d.h sie verwendet die gleichen Entity Referenzen.

Hinweis: Diese Methode ändert nicht die ursprüngliche Entity-Selection.

Die zurückgegebene Entity-Selection enthält die Entities ab startFrom und alle nachfolgenden Entities bis zur Entity in end. Diese ist jedoch nicht mehr enthalten. Ist nur der Parameter startFrom angegeben, enthält die zurückgegebene Entity-Selection alle Entities ab startFrom bis zur letzten Entity der ursprünglichen Entity-Selection.

  • Ist startFrom < 0, wird es neu berechnet als startFrom:=startFrom+length (wird als Versatz vom Ende der Entity-Selection gewertet). Ist der berechnete Wert < 0, wird startFrom auf 0 gesetzt.
  • Ist startFrom >= length, gibt die Methode eine leere Entity-Selection zurück.
  • Ist end < 0, wird es neu berechnet als end:=end+length.
  • Ist end < startFrom (übergebene oder berechnete Werte), führt die Methode nichts aus. 

Enthält die Entity-Selection mittlerweile gelöschte Entities, sind diese auch im Ergebnis enthalten.

Eine Selection der ersten 9 Entities einer Entity-Selection erhalten:

 C_OBJECT($sel;$sliced)
 $sel:=ds.Employee.query("salary > :1";50000)
 $sliced:=$sel.slice(0;9)

Vorgegeben ist ds.Employee.all().length = 10

 C_OBJECT($slice)
 $slice:=ds.Employee.all().slice(-1;-2) //versucht, Entites von Index 9 zu 8 zurückzugeben, da 9 > 8 ist, gibt sie eine leere Entity-Selection zurück



Siehe auch 

Get query limit
SET QUERY LIMIT

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: ORDA - EntitySelection

 
SEITENINHALT 
 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v18)