Open justdoitlah opened 4 years ago
Did you manage to solve this? I have the same issue
class OrderBy extends Expression {
/**
* @inheritDoc
* @return ExpressionInterface|OrderBy
*/
public function getExpression(): ExpressionInterface {
$position = 1;
$cases = ['CASE'];
$searchableKey = $this->searchableKey ();
foreach ( $this->ids as $id ) {
$cases [] = "WHEN {$searchableKey} = $id THEN {$position}";
$position ++;
}
$cases [] = "ELSE {$position}";
$cases [] = 'END ASC';
return new DbExpression ( implode ( ' ', $cases ) );
}
}
I installed this extension today (Aug, 2023) and I'm having the same issue. Even with latest code (dev-master branch). Is there a solution?
It seems orderBy params not binding correctly. I am using php 7.4.8 and Yii 2.0.36
SELECT * FROM
node
WHEREnode
.id
IN (51344, 69795, 60567, 53169, 23107, 47397, 5610, 71362, 68097, 57207, 55887, 50515, 642, 44730, 6277, 15994, 41786, 9070, 8510, 10365, 19485, 30552, 31459, 39738, 29129, 49595, 51334, 51149, 51138, 50604, 50097, 49766, 49763, 49672, 49042, 49414, 49084, 48983, 48668, 51630, 47748, 47666, 47647, 47556, 47468, 48571, 52569, 51740, 53532, 56119, 55960, 55490, 54769, 54646, 53609, 53607, 53598, 53595, 53506, 51968, 53316, 53124, 52841, 52688, 52641, 52611, 47322, 52304, 52277, 52113, 47417, 46605, 47262, 40403, 41947, 41462, 41424, 41423, 41177, 40879, 40575, 40530, 40442, 40391, 42496, 40050, 39998, 39905, 39902, 39715, 39379, 39111, 39027, 39016, 42400, 42718, 47239, 45423, 46843, 46802) ORDER BY CASE WHENnode
.id
= :sob1 THEN 1 WHENnode
.id
= :sob2 THEN 2 WHENnode
.id
= :sob3 THEN 3 WHENnode
.id
= :sob4 THEN 4 WHENnode
.id
= :sob5 THEN 5 WHENnode
.id
= :sob6 THEN 6 WHENnode
.id
= :sob7 THEN 7 WHENnode
.id
= :sob8 THEN 8 WHENnode
.id
= :sob9 THEN 9 WHENnode
.id
= :sob10 THEN 10 WHENnode
.id
= :sob11 THEN 11 WHENnode
.id
= :sob12 THEN 12 WHENnode
.id
= :sob13 THEN 13 WHENnode
.id
= :sob14 THEN 14 WHENnode
.id
= :sob15 THEN 15 WHENnode
.id
= :sob16 THEN 16 WHENnode
.id
= :sob17 THEN 17 WHENnode
.id
= :sob18 THEN 18 WHENnode
.id
= :sob19 THEN 19 WHENnode
.id
= :sob20 THEN 20 WHENnode
.id
= :sob21 THEN 21 WHENnode
.id
= :sob22 THEN 22 WHENnode
.id
= :sob23 THEN 23 WHENnode
.id
= :sob24 THEN 24 WHENnode
.id
= :sob25 THEN 25 WHENnode
.id
= :sob26 THEN 26 WHENnode
.id
= :sob27 THEN 27 WHENnode
.id
= :sob28 THEN 28 WHENnode
.id
= :sob29 THEN 29 WHENnode
.id
= :sob30 THEN 30 WHENnode
.id
= :sob31 THEN 31 WHENnode
.id
= :sob32 THEN 32 WHENnode
.id
= :sob33 THEN 33 WHENnode
.id
= :sob34 THEN 34 WHENnode
.id
= :sob35 THEN 35 WHENnode
.id
= :sob36 THEN 36 WHENnode
.id
= :sob37 THEN 37 WHENnode
.id
= :sob38 THEN 38 WHENnode
.id
= :sob39 THEN 39 WHENnode
.id
= :sob40 THEN 40 WHENnode
.id
= :sob41 THEN 41 WHENnode
.id
= :sob42 THEN 42 WHENnode
.id
= :sob43 THEN 43 WHENnode
.id
= :sob44 THEN 44 WHENnode
.id
= :sob45 THEN 45 WHENnode
.id
= :sob46 THEN 46 WHENnode
.id
= :sob47 THEN 47 WHENnode
.id
= :sob48 THEN 48 WHENnode
.id
= :sob49 THEN 49 WHENnode
.id
= :sob50 THEN 50 WHENnode
.id
= :sob51 THEN 51 WHENnode
.id
= :sob52 THEN 52 WHENnode
.id
= :sob53 THEN 53 WHENnode
.id
= :sob54 THEN 54 WHENnode
.id
= :sob55 THEN 55 WHENnode
.id
= :sob56 THEN 56 WHENnode
.id
= :sob57 THEN 57 WHENnode
.id
= :sob58 THEN 58 WHENnode
.id
= :sob59 THEN 59 WHENnode
.id
= :sob60 THEN 60 WHENnode
.id
= :sob61 THEN 61 WHENnode
.id
= :sob62 THEN 62 WHENnode
.id
= :sob63 THEN 63 WHENnode
.id
= :sob64 THEN 64 WHENnode
.id
= :sob65 THEN 65 WHENnode
.id
= :sob66 THEN 66 WHENnode
.id
= :sob67 THEN 67 WHENnode
.id
= :sob68 THEN 68 WHENnode
.id
= :sob69 THEN 69 WHENnode
.id
= :sob70 THEN 70 WHENnode
.id
= :sob71 THEN 71 WHENnode
.id
= :sob72 THEN 72 WHENnode
.id
= :sob73 THEN 73 WHENnode
.id
= :sob74 THEN 74 WHENnode
.id
= :sob75 THEN 75 WHENnode
.id
= :sob76 THEN 76 WHENnode
.id
= :sob77 THEN 77 WHENnode
.id
= :sob78 THEN 78 WHENnode
.id
= :sob79 THEN 79 WHENnode
.id
= :sob80 THEN 80 WHENnode
.id
= :sob81 THEN 81 WHENnode
.id
= :sob82 THEN 82 WHENnode
.id
= :sob83 THEN 83 WHENnode
.id
= :sob84 THEN 84 WHENnode
.id
= :sob85 THEN 85 WHENnode
.id
= :sob86 THEN 86 WHENnode
.id
= :sob87 THEN 87 WHENnode
.id
= :sob88 THEN 88 WHENnode
.id
= :sob89 THEN 89 WHENnode
.id
= :sob90 THEN 90 WHENnode
.id
= :sob91 THEN 91 WHENnode
.id
= :sob92 THEN 92 WHENnode
.id
= :sob93 THEN 93 WHENnode
.id
= :sob94 THEN 94 WHENnode
.id
= :sob95 THEN 95 WHENnode
.id
= :sob96 THEN 96 WHENnode
.id
= :sob97 THEN 97 WHENnode
.id
= :sob98 THEN 98 WHENnode
.id
= :sob99 THEN 99 WHENnode
.id
= :sob100 THEN 100 ELSE 101 END ASC