99 * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
1010 */
1111
12- namespace MauticPlugin \MauticSqlConditionsBundle \SqlExecutioner ;
12+ namespace MauticPlugin \MauticSqlConditionsBundle \Executioner ;
1313
1414use Doctrine \DBAL \Connections \MasterSlaveConnection ;
1515use Doctrine \ORM \EntityManager ;
16+ use MauticPlugin \MauticSqlConditionsBundle \Executioner \Params \Params ;
1617
1718class QueryBuilder
1819{
@@ -26,14 +27,21 @@ class QueryBuilder
2627 */
2728 private $ connection ;
2829
30+ /**
31+ * @var Params
32+ */
33+ private $ params ;
34+
2935 /**
3036 * SqlExecutioner constructor.
3137 *
32- * @param SqlConditionDetails $sqlConditionDetails
38+ * @param EntityManager $entityManager
39+ * @param Params $params
3340 */
34- public function __construct (EntityManager $ entityManager )
41+ public function __construct (EntityManager $ entityManager, Params $ params )
3542 {
3643 $ this ->entityManager = $ entityManager ;
44+ $ this ->params = $ params ;
3745
3846 /** @var Connection $connection */
3947 $ this ->connection = $ this ->entityManager ->getConnection ();
@@ -42,13 +50,22 @@ public function __construct(EntityManager $entityManager)
4250 }
4351 }
4452
45- public function getQuery ()
53+ /**
54+ * @param SqlConditionDetails $sqlConditionDetails
55+ *
56+ * @return \Doctrine\DBAL\Driver\Statement
57+ * @throws \Doctrine\DBAL\DBALException
58+ */
59+ public function runQuery (SqlConditionDetails $ sqlConditionDetails )
4660 {
47- //getdetail
48- // getParams
49- $ this ->connection ->executeQuery ($ query , $ params );
50- $ queryBuilder = new QueryBuilder ($ this ->connection );
61+ $ sqlQuery = $ sqlConditionDetails ->getSqlQuery ();
62+ if (!$ sqlQuery ) {
63+ return false ;
64+ }
65+
66+ $ params = $ this ->params ->parseParamsFromSqlQuery ($ sqlConditionDetails );
67+ return $ this ->connection ->executeQuery ($ sqlQuery , $ params )->fetchAll ();
5168 }
5269
5370
54- }
71+ };
0 commit comments