Static Methodgrdb 7.4.0GRDB

filter(keys:)

Returns a request filtered by primary or unique key.

TableRecord+QueryInterfaceRequest.swift:435
static func filter(keys: [[String : (any DatabaseValueConvertible)?]]) -> QueryInterfaceRequest<Self>

Parameters

keys

An array of key dictionaries.

For example:

struct Player: TableRecord { }
struct Citizenship: TableRecord { }

// SELECT * FROM player WHERE id = 1
let request = Player.filter(keys: [["id": 1]])

// SELECT * FROM player WHERE email = 'arthur@example.com'
let request = Player.filter(keys: [["email": "arthur@example.com"]])

// SELECT * FROM citizenship WHERE citizenId = 1 AND countryCode = 'FR'
let request = Citizenship.filter(keys: [
    ["citizenId": 1, "countryCode": "FR"],
])

When executed, this request raises a fatal error if no unique index exists on a subset of the key columns.