I losted trilion hours google this but none of the solutions were good.
I have this querybuilder:
$qb2=$this->createQueryBuilder('s') ->addSelect('u') ->innerJoin('s.user','u') ->where("u.id IN(:followeeIds)") ->andWhere('s.admin_status = false') ->setParameter('user', $user) ->setParameter('followeeIds', $arrayFolloweeIds) ->orderBy('s.id','DESC') ->setMaxResults(15) ;
I could do a second query and then do like $qb->getDQL()
but have would i cache the query ?
Error:
Invalid parameter number: number of bound variables does not match number of tokens
Symfony provides all the tools you need to use databases in your applications thanks to Doctrine, the best set of PHP libraries to work with databases. These tools support relational databases like MySQL and PostgreSQL and also NoSQL databases like MongoDB.
A repository in a term used by many ORMs (Object Relational Mappers), doctrine is just one of these. It means the place where our data can be accessed from, a repository of data. This is to distinguish it from a database as a repository does not care how its data is stored.
Query Builder is designed to enhance productivity and simplify SQL query building tasks. Query Builder provides a graphical user interface for creating SQL queries. You can drag-and-drop multiple tables, views and their columns onto a visual designer to generate SQL statements.
You are setting the user parameter but I do not see it being used in the query anywhere?
Also I had issues with WHERE IN
and Doctrine QueryBuilder
with arrays would give me a similar error, and oddly enough running array_values
before binding the parameter seemed to solve those issues as well.
Try:
$qb2=$this->createQueryBuilder('s') ->addSelect('u') ->innerJoin('s.user','u') ->where("u.id IN(:followeeIds)") ->andWhere('s.admin_status = false') ->setParameter('followeeIds', array_values($arrayFolloweeIds)) ->orderBy('s.id','DESC') ->setMaxResults(15) ;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With