Skip to content

Commit

Permalink
Fixed issue #15866: Condition designer doesn't work in postgres
Browse files Browse the repository at this point in the history
  • Loading branch information
olleharstedt authored and eddylackmann committed Feb 17, 2020
1 parent d672108 commit c4520da
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions application/models/Condition.php
Expand Up @@ -231,18 +231,24 @@ public function getAllCfieldnameWithDependenciesForOneSurvey($sid)
*/
public function getConditionCount($qid, $language, Condition $scenarionr)
{
// Need to quote columns for Postgres.
$db = Yii::app()->db;
$quotedQL10ns = $db->quoteTableName('questionL10ns');
$quotedLanguage = $db->quoteColumnName('language');
$quotedQGL10ns = $db->quoteTableName('questionGroupL10ns');

$result = Condition::model()->with(array(
'questions' => array(
'condition' => 'questions.parent_qid = :parent_qid',
'params' => array(':parent_qid' => 0)
),
'questions.questionL10ns' => array(
'condition' => 'questionL10ns.language = :lang1',
'condition' => $quotedQL10ns . '.' . $quotedLanguage . ' = :lang1',
'params' => array(':lang1' => $language)
),
'questions.group',
'questions.group.questionGroupL10ns' => array(
'condition' => 'questionGroupL10ns.language = :lang2',
'condition' => $quotedQGL10ns . '.' . $quotedLanguage . ' = :lang2',
'params' => array(':lang2' => $language)
)
))->findAll(
Expand All @@ -260,18 +266,24 @@ public function getConditionCount($qid, $language, Condition $scenarionr)
*/
public function getConditions($qid, $language, Condition $scenarionr)
{
// Need to quote columns for Postgres.
$db = Yii::app()->db;
$quotedQL10ns = $db->quoteTableName('questionL10ns');
$quotedLanguage = $db->quoteColumnName('language');
$quotedQGL10ns = $db->quoteTableName('questionGroupL10ns');

$results = Condition::model()->with(array(
'questions' => array(
'condition' => 'questions.parent_qid = :parent_qid',
'params' => array(':parent_qid' => 0)
),
'questions.questionL10ns' => array(
'condition' => 'questionL10ns.language = :lang1',
'condition' => $quotedQL10ns . '.' . $quotedLanguage . ' = :lang1',
'params' => array(':lang1' => $language)
),
'questions.group',
'questions.group.questionGroupL10ns' => array(
'condition' => 'questionGroupL10ns.language = :lang2',
'condition' => $quotedQGL10ns . '.' . $quotedLanguage . ' = :lang2',
'params' => array(':lang2' => $language)
)
))->findAll(
Expand Down

0 comments on commit c4520da

Please sign in to comment.