@@ -140,6 +140,16 @@ extension Optional: Table, PartialSelectStatement, Statement where Wrapped: Tabl
140140 )
141141 }
142142
143+ public subscript< Member> (
144+ dynamicMember keyPath: KeyPath < Wrapped . TableColumns , GeneratedColumn < Wrapped , Member > >
145+ ) -> GeneratedColumn < Optional , Member ? > {
146+ let column = Wrapped . columns [ keyPath: keyPath]
147+ return GeneratedColumn < Optional , Member ? > (
148+ column. name,
149+ keyPath: \. [ member: \Member . self, column: column. keyPath]
150+ )
151+ }
152+
143153 public subscript< Member: QueryExpression > (
144154 dynamicMember keyPath: KeyPath < Wrapped . TableColumns , Member >
145155 ) -> some QueryExpression < Member . QueryValue ? > {
@@ -161,7 +171,7 @@ extension Optional: Table, PartialSelectStatement, Statement where Wrapped: Tabl
161171extension Optional : PrimaryKeyedTable
162172where
163173 Wrapped: PrimaryKeyedTable ,
164- Wrapped. TableColumns. PrimaryKeyColumn == TableColumn < Wrapped , Wrapped . PrimaryKey >
174+ Wrapped. TableColumns. PrimaryColumn == TableColumn < Wrapped , Wrapped . PrimaryKey >
165175{
166176 public typealias Draft = Wrapped . Draft ?
167177}
@@ -170,7 +180,7 @@ where
170180extension Optional : TableDraft
171181where
172182 Wrapped: TableDraft ,
173- Wrapped. PrimaryTable. TableColumns. PrimaryKeyColumn == TableColumn <
183+ Wrapped. PrimaryTable. TableColumns. PrimaryColumn == TableColumn <
174184 Wrapped . PrimaryTable , Wrapped . PrimaryTable . PrimaryKey
175185 >
176186{
@@ -184,7 +194,7 @@ where
184194extension Optional . TableColumns : PrimaryKeyedTableDefinition
185195where
186196 Wrapped. TableColumns: PrimaryKeyedTableDefinition ,
187- Wrapped. TableColumns. PrimaryKeyColumn == TableColumn < Wrapped , Wrapped . PrimaryKey >
197+ Wrapped. TableColumns. PrimaryColumn == TableColumn < Wrapped , Wrapped . PrimaryKey >
188198{
189199 public typealias PrimaryKey = Wrapped . TableColumns . PrimaryKey ?
190200
0 commit comments