RunOneSelect( queryBuilder: SQLQueryBuilderWrapper::SELECT_ONE( table: 'Tunes', id: $_GET["tune-id"] ) ->cols(cols: [ 'SUM(CASE WHEN T_TR.Rating = 1 THEN 1 ELSE 0 END) AS Likes', 'SUM(CASE WHEN T_TR.Rating = -1 THEN 1 ELSE 0 END) AS Dislikes', ]) ->join( join: 'LEFT', spec: 'TuneRatings AS T_TR', cond: 'T.ID=T_TR.TuneID', ) ); $setsThisTuneIsIn = $db->RunSelect( queryBuilder: SQLQueryBuilderWrapper::SELECT( table: 'TuneSetTunes' ) ->cols(cols: [ 'T_TS.ID AS TuneSetID', 'T_TS.Description AS TuneSetName', ]) ->join( join: 'INNER', spec: 'TuneSets AS T_TS', cond: 'T.TuneSetID=T_TS.ID', ) ->where(cond: 'T.TuneID LIKE :__tune_id__') ->bindValue(name: '__tune_id__', value: $_GET["tune-id"]) ->groupBy(spec: [ 'T.TuneSetID', ]) ); $myVote = 0; if(SessionWrapper::Get(SessionElement::IS_LOGGED_IN)) { $myVote = $db->RunSelect( queryBuilder: SQLQueryBuilderWrapper::SELECT( table: 'TuneRatings', ) ->cols(cols: [ 'Rating' ]) ->where(cond: 'CreatedBy=:__user_id__') ->where(cond: 'TuneID=:__tune_id__') ->bindValue(name: '__user_id__', value: SessionWrapper::Get(SessionElement::USER_ID)) ->bindValue(name: '__tune_id__', value: $_GET["tune-id"]) ); if($myVote == []) $myVote = 0; else { $myVote = $myVote[0]['Rating']; } } TwigWrapper::RenderTwig( target: "Pages/tune/uuid.html.twig", arguments: [ "TuneDetails"=>$tuneDetails, "SetsThisTuneIsIn" => $setsThisTuneIsIn, "MyVote"=>$myVote, ] );