Tôi mất thời gian trilion google nhưng không có giải pháp nào tốt.Symfony2 Trình quản lý truy vấn của Doctrine trong đó IN
Tôi có querybuilder này:
$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)
;
tôi có thể làm một truy vấn thứ hai và sau đó làm như $qb->getDQL()
nhưng tôi sẽ cache truy vấn?
Lỗi:
Invalid parameter number: number of bound variables does not match number of tokens
omg tôi cảm thấy thật ngu ngốc ... tất nhiên người sử dụng! tôi đã không nhận thấy nó ... và có array_values đã giúp! Và bây giờ cuối cùng ma thuật làm việc $ arrayFolloweeIds = implode ("','", $ arrayFolloweeIds) cũng ... tôi hy vọng mọi người sẽ tìm thấy nó. cám ơn ! – EnchanterIO
'mảng_values' cũng giúp tôi. Nhưng tại sao? Tôi đã sử dụng một mảng được lập chỉ mục. Và mặt khác, với một truy vấn xóa nó làm việc mà không có 'mảng_values'. Tôi đang sử dụng doctrine/orm v2.5.4 – alpham8
Tôi nghĩ rằng vấn đề được gây ra bởi một chỉ số số thứ tự trên mảng hoặc có thể có chỉ mục chuỗi số. Mặc dù không chắc chắn 100% nhưng nếu đó là lý do tại sao array_values hoạt động vì nó cung cấp cho bạn một mảng mới được lập chỉ mục đúng cách –