@@ 18-35 (lines=18) @@ | ||
15 | { |
|
16 | use ConnectionAbstractTrait; |
|
17 | ||
18 | public function getWhereAndTraversable($table, array $where) |
|
19 | // url/show |
|
20 | { |
|
21 | $qb = $this->getConnection()->createQueryBuilder(); |
|
22 | ||
23 | return $qb |
|
24 | ->select('*') |
|
25 | ->from($table) |
|
26 | ->where(call_user_func_array([$qb->expr(), 'andX'], |
|
27 | array_map( |
|
28 | [$qb->expr(), 'eq'], |
|
29 | array_keys($where), |
|
30 | array_map([$qb, 'createNamedParameter'], array_values($where)) |
|
31 | ) |
|
32 | )) |
|
33 | ->execute(); |
|
34 | // TODO: check if $stmt should be ->execute() like in getByUnique |
|
35 | } |
|
36 | ||
37 | public function findUniqueBy($table, array $where) |
|
38 | { |
|
@@ 129-144 (lines=16) @@ | ||
126 | $qb->execute(); |
|
127 | } |
|
128 | ||
129 | public function deleteByUnique($table, array $id) |
|
130 | { // TODO: assert unicity of index |
|
131 | $qb = $this->getConnection()->createQueryBuilder(); |
|
132 | ||
133 | $qb |
|
134 | ->delete($table) |
|
135 | ->where(call_user_func_array([$qb->expr(), 'andX'], |
|
136 | array_map( |
|
137 | [$qb->expr(), 'eq'], |
|
138 | array_keys($id), |
|
139 | array_map([$qb, 'createNamedParameter'], array_values($id)) |
|
140 | ) |
|
141 | )) |
|
142 | ->execute() |
|
143 | ; |
|
144 | } |
|
145 | ||
146 | public function getManyToManyTraversable($base_table, $base_id, $link_base_id, $link_table, $link_distant_id, $distant_id, $distant_table, array $unique) |
|
147 | // url/show |