Search code examples
modelphalcon

Using phalcon, I have two databases, How can I select a database before $builder with modelsManager?


Before this $builder, I want to set a database, what shall I do? thanks in advance!

$builder = $this->modelsManager->createBuilder()
->columns($cols)
->distinct(true)
->from($ZUC)
->leftJoin($ZU, "$ZU.user_id = $ZUC.user_id")
->leftJoin($ZSC, "$ZUC.subclass_id = $ZSC.subclass_id")
->leftJoin($ZC, "$ZC.class_id = $ZSC.class_id")
->leftJoin($ZCH, "$ZCH.order_no = $ZUC.order_no")
->where($conStr, $conArr)
->orderBy($order)

Solution

  • Share with you。Like this

      $zx_user_class = new ZxUserClass(); //your primary table
      $zx_user_class->setConnectionService('dbWrite'); // select databse
      $modelsManager = $zx_user_class->getModelsManager();
      $builder = $modelsManager->createBuilder()
       ->columns($cols)
       ->distinct(true)
       ->from($ZUC)
       ->leftJoin($ZU, "$ZU.user_id = $ZUC.user_id")
       ->leftJoin($ZSC, "$ZUC.subclass_id = $ZSC.subclass_id")
       ->leftJoin($ZC, "$ZC.class_id = $ZSC.class_id")
       ->leftJoin($ZCH, "$ZCH.order_no = $ZUC.order_no")
       ->where($conStr, $conArr)
       ->orderBy($order)