@@ -13,8 +13,14 @@ class RecipeDb {
13
13
14
14
private $ db ;
15
15
16
- public function __construct (IDBConnection $ db ) {
16
+ /**
17
+ * @var DbTypesPolyfillHelper
18
+ */
19
+ private $ types ;
20
+
21
+ public function __construct (IDBConnection $ db , DbTypesPolyfillHelper $ polyfillTypes ) {
17
22
$ this ->db = $ db ;
23
+ $ this ->types = $ polyfillTypes ;
18
24
}
19
25
20
26
/**
@@ -78,7 +84,7 @@ public function findAllRecipes(string $user_id) {
78
84
->from (self ::DB_TABLE_RECIPES , 'r ' )
79
85
->where ('r.user_id = :user ' )
80
86
->orderBy ('r.name ' );
81
- $ qb ->setParameter ('user ' , $ user_id , ' string ' );
87
+ $ qb ->setParameter ('user ' , $ user_id , $ this -> types -> STRING () );
82
88
$ qb ->leftJoin ('r ' , self ::DB_TABLE_KEYWORDS , 'k ' ,
83
89
$ qb ->expr ()->andX (
84
90
'r.recipe_id = k.recipe_id ' ,
@@ -135,7 +141,7 @@ public function findAllKeywords(string $user_id) {
135
141
->where ('user_id = :user AND k.name != \'\'' )
136
142
->groupBy ('k.name ' )
137
143
->orderBy ('k.name ' );
138
- $ qb ->setParameter ('user ' , $ user_id , ' string ' );
144
+ $ qb ->setParameter ('user ' , $ user_id , $ this -> types -> STRING () );
139
145
140
146
$ cursor = $ qb ->execute ();
141
147
$ result = $ cursor ->fetchAll ();
@@ -159,7 +165,7 @@ public function findAllCategories(string $user_id) {
159
165
->where ('user_id = :user ' )
160
166
->groupBy ('c.name ' )
161
167
->orderBy ('c.name ' );
162
- $ qb ->setParameter ('user ' , $ user_id , ' string ' );
168
+ $ qb ->setParameter ('user ' , $ user_id , $ this -> types -> STRING () );
163
169
164
170
$ cursor = $ qb ->execute ();
165
171
$ result = $ cursor ->fetchAll ();
@@ -216,8 +222,8 @@ public function getRecipesByCategory(string $category, string $user_id) {
216
222
->from (self ::DB_TABLE_CATEGORIES , 'c ' )
217
223
->where ('c.name = :category ' )
218
224
->andWhere ('c.user_id = :user ' )
219
- ->setParameter ('category ' , $ category , ' string ' )
220
- ->setParameter ('user ' , $ user_id , ' string ' );
225
+ ->setParameter ('category ' , $ category , $ this -> types -> STRING () )
226
+ ->setParameter ('user ' , $ user_id , $ this -> types -> STRING () );
221
227
222
228
$ qb ->join ('c ' , self ::DB_TABLE_RECIPES , 'r ' , 'c.recipe_id = r.recipe_id ' );
223
229
$ qb ->leftJoin ('c ' , self ::DB_TABLE_KEYWORDS , 'k ' , 'c.recipe_id = k.recipe_id ' );
@@ -267,9 +273,9 @@ public function getRecipesByKeywords(string $keywords, string $user_id) {
267
273
->where ('k.name IN (:keywords) ' )
268
274
->andWhere ('k.user_id = :user ' )
269
275
->having ('COUNT(DISTINCT k.name) = :keywordsCount ' )
270
- ->setParameter ('user ' , $ user_id , ' integer ' )
276
+ ->setParameter ('user ' , $ user_id , $ this -> types -> INT () )
271
277
->setParameter ('keywords ' , $ keywords_arr , IQueryBuilder::PARAM_STR_ARRAY )
272
- ->setParameter ('keywordsCount ' , sizeof ($ keywords_arr ), ' integer ' );
278
+ ->setParameter ('keywordsCount ' , sizeof ($ keywords_arr ), $ this -> types -> INT () );
273
279
$ qb ->join ('k ' , self ::DB_TABLE_RECIPES , 'r ' , 'k.recipe_id = r.recipe_id ' );
274
280
$ qb ->join ('r ' , self ::DB_TABLE_KEYWORDS , 'kk ' , 'kk.recipe_id = r.recipe_id ' );
275
281
$ qb ->groupBy (['r.name ' , 'r.recipe_id ' , 'kk.name ' ]);
@@ -315,14 +321,14 @@ public function findRecipes(array $keywords, string $user_id) {
315
321
$ qb ->orWhere ("LOWER(c.name) LIKE :keyword $ paramIdx " );
316
322
317
323
$ params ["keyword $ paramIdx " ] = "% $ lowerKeyword% " ;
318
- $ types ["keyword $ paramIdx " ] = ' string ' ;
324
+ $ types ["keyword $ paramIdx " ] = $ this -> types -> STRING () ;
319
325
$ paramIdx ++;
320
326
}
321
327
322
328
$ qb ->andWhere ('r.user_id = :user ' );
323
329
324
330
$ qb ->setParameters ($ params , $ types );
325
- $ qb ->setParameter ('user ' , $ user_id , ' string ' );
331
+ $ qb ->setParameter ('user ' , $ user_id , $ this -> types -> STRING () );
326
332
327
333
$ qb ->groupBy (['r.name ' , 'r.recipe_id ' , 'k.name ' ]);
328
334
$ qb ->orderBy ('r.name ' );
@@ -365,22 +371,22 @@ public function emptySearchIndex(string $user_id) {
365
371
$ qb ->delete (self ::DB_TABLE_RECIPES )
366
372
->where ('user_id = :user ' )
367
373
->orWhere ('user_id = :empty ' );
368
- $ qb ->setParameter ('user ' , $ user_id , ' string ' );
369
- $ qb ->setParameter ('empty ' , 'empty ' , ' string ' );
374
+ $ qb ->setParameter ('user ' , $ user_id , $ this -> types -> STRING () );
375
+ $ qb ->setParameter ('empty ' , 'empty ' , $ this -> types -> STRING () );
370
376
371
377
$ qb ->execute ();
372
378
373
379
$ qb ->delete (self ::DB_TABLE_KEYWORDS )
374
380
->where ('user_id = :user ' )
375
381
->orWhere ('user_id = :empty ' );
376
- $ qb ->setParameter ('user ' , $ user_id , ' string ' );
377
- $ qb ->setParameter ('empty ' , 'empty ' , ' string ' );
382
+ $ qb ->setParameter ('user ' , $ user_id , $ this -> types -> STRING () );
383
+ $ qb ->setParameter ('empty ' , 'empty ' , $ this -> types -> STRING () );
378
384
379
385
$ qb ->delete (self ::DB_TABLE_CATEGORIES )
380
386
->where ('user_id = :user ' )
381
387
->orWhere ('user_id = :empty ' );
382
- $ qb ->setParameter ('user ' , $ user_id , ' string ' );
383
- $ qb ->setParameter ('empty ' , 'empty ' , ' string ' );
388
+ $ qb ->setParameter ('user ' , $ user_id , $ this -> types -> STRING () );
389
+ $ qb ->setParameter ('empty ' , 'empty ' , $ this -> types -> STRING () );
384
390
385
391
$ qb ->execute ();
386
392
}
@@ -443,8 +449,8 @@ public function insertRecipes(array $recipes, string $userId) {
443
449
$ qb ->setParameter ('userid ' , $ userId );
444
450
445
451
foreach ($ recipes as $ recipe ) {
446
- $ qb ->setParameter ('id ' , $ recipe ['id ' ], ' integer ' );
447
- $ qb ->setParameter ('name ' , $ recipe ['name ' ], ' string ' );
452
+ $ qb ->setParameter ('id ' , $ recipe ['id ' ], $ this -> types -> INT () );
453
+ $ qb ->setParameter ('name ' , $ recipe ['name ' ], $ this -> types -> STRING () );
448
454
449
455
$ qb ->execute ();
450
456
}
@@ -520,8 +526,8 @@ public function updateCategoryOfRecipe(int $recipeId, string $categoryName, stri
520
526
$ qb ->update (self ::DB_TABLE_CATEGORIES )
521
527
->where ('recipe_id = :rid ' , 'user_id = :user ' );
522
528
$ qb ->set ('name ' , $ qb ->expr ()->literal ($ categoryName , IQueryBuilder::PARAM_STR ));
523
- $ qb ->setParameter ('rid ' , $ recipeId , ' integer ' );
524
- $ qb ->setParameter ('user ' , $ userId , ' string ' );
529
+ $ qb ->setParameter ('rid ' , $ recipeId , $ this -> types -> INT () );
530
+ $ qb ->setParameter ('user ' , $ userId , $ this -> types -> STRING () );
525
531
$ qb ->execute ();
526
532
}
527
533
@@ -538,9 +544,9 @@ public function addCategoryOfRecipe(int $recipeId, string $categoryName, string
538
544
$ qb = $ this ->db ->getQueryBuilder ();
539
545
$ qb ->insert (self ::DB_TABLE_CATEGORIES )
540
546
->values (['recipe_id ' => ':rid ' , 'name ' => ':name ' , 'user_id ' => ':user ' ]);
541
- $ qb ->setParameter ('rid ' , $ recipeId , ' integer ' );
542
- $ qb ->setParameter ('name ' , $ categoryName , ' string ' );
543
- $ qb ->setParameter ('user ' , $ userId , ' string ' );
547
+ $ qb ->setParameter ('rid ' , $ recipeId , $ this -> types -> INT () );
548
+ $ qb ->setParameter ('name ' , $ categoryName , $ this -> types -> STRING () );
549
+ $ qb ->setParameter ('user ' , $ userId , $ this -> types -> STRING () );
544
550
545
551
try {
546
552
$ qb ->execute ();
@@ -553,8 +559,8 @@ public function removeCategoryOfRecipe(int $recipeId, string $userId) {
553
559
$ qb = $ this ->db ->getQueryBuilder ();
554
560
$ qb ->delete (self ::DB_TABLE_CATEGORIES )
555
561
->where ('recipe_id = :rid ' , 'user_id = :user ' );
556
- $ qb ->setParameter ('rid ' , $ recipeId , ' integer ' );
557
- $ qb ->setParameter ('user ' , $ userId , ' string ' );
562
+ $ qb ->setParameter ('rid ' , $ recipeId , $ this -> types -> INT () );
563
+ $ qb ->setParameter ('user ' , $ userId , $ this -> types -> STRING () );
558
564
$ qb ->execute ();
559
565
}
560
566
@@ -566,11 +572,11 @@ public function addKeywordPairs(array $pairs, string $userId) {
566
572
$ qb = $ this ->db ->getQueryBuilder ();
567
573
$ qb ->insert (self ::DB_TABLE_KEYWORDS )
568
574
->values (['recipe_id ' => ':rid ' , 'name ' => ':name ' , 'user_id ' => ':user ' ]);
569
- $ qb ->setParameter ('user ' , $ userId , ' string ' );
575
+ $ qb ->setParameter ('user ' , $ userId , $ this -> types -> STRING () );
570
576
571
577
foreach ($ pairs as $ p ) {
572
- $ qb ->setParameter ('rid ' , $ p ['recipeId ' ], ' integer ' );
573
- $ qb ->setParameter ('name ' , $ p ['name ' ], ' string ' );
578
+ $ qb ->setParameter ('rid ' , $ p ['recipeId ' ], $ this -> types -> INT () );
579
+ $ qb ->setParameter ('name ' , $ p ['name ' ], $ this -> types -> STRING () );
574
580
575
581
try {
576
582
$ qb ->execute ();
0 commit comments