Skip to content

Loading…

DDC-1952: Add support for array parameters on the SQLFilter #2624

Open
doctrinebot opened this Issue · 3 comments

2 participants

@doctrinebot

Jira issue originally created by user holtkamp:

The SQLFilter currently only accepts string parameters which would result in SQL like:

"tableAlias.column = '$filterParameter'"

To filter an Entity that has a lifecycle, this can be usefull to filter Entities that are in a specific state, for example:

"tableAlias.state = 1"

To be able to apply the filter on an Entity that can be in multiple states, it is usefull to be able to assign an array of states using setParameter:

$allowedStates = array(1,2,3,4);
$filter->setParameter('allowedStatesParam', $allowedStates);
sprintf("tableAlias.state IN (%s)", implode(',', $this->getParameter('allowedStatesParam')));

to eventually result in:

"tableAlias.state IN (1,2,3,4)"

However, this is currently not supported, it seems to go wrong on the PDO::quote() of the parameter. The SQL works ok when setting it statically in the filter, not taking the parameter into account.

It would be nice to have support for arrays on the setParameter()

@doctrinebot

Comment created by petr.pavel:

I've just created a pull request that implements just that. The only difference is that you don't call implode on the parameter when using it.
#1168

The usage would be:

$allowedStates = array(1,2,3,4);
$filter->setParameter('allowedStatesParam', $allowedStates);

$quotedList = $this->getParameter('allowedStatesParam');
"tableAlias.state IN ($quotedList)"
@doctrinebot

Comment created by @doctrinebot:

A related Github Pull-Request [GH-1168] was labeled:
#1168

@doctrinebot

Comment created by @doctrinebot:

A related Github Pull-Request [GH-1168] was closed:
#1168

@beberlei beberlei was assigned by doctrinebot
@mnogales mnogales added a commit to mnogales/doctrine2 that referenced this issue
@mnogales mnogales #2624 Add support for array parameters on SQLFilter 627c404
@mnogales mnogales added a commit to mnogales/doctrine2 that referenced this issue
@mnogales mnogales #2624 Add support for array parameters on SQLFilter abbae05
@mnogales mnogales added a commit to mnogales/doctrine2 that referenced this issue
@mnogales mnogales #2624 Add support for array parameters on SQLFilter 2fd4eaa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.