0
クエリを更新したいと思います。まず、次のような配列があります。Doctrine - 複数の方法でクエリを更新できません
array:5 [▼
0 => 2
1 => 9
2 => 10
3 => 531
4 => 635
]
$restaurants
という配列があります。私が欲しいのは、この配列でレストランIsoSelectedフィールドを更新するだけです。ここに私のコード
最初の方法:ここ
public function resetChosenRestaurants(array $restaurants) {
dd($restaurants);
$query = $this->_em->createQueryBuilder();
$query
->update($this->entityClass, "Restaurants")
->set("Restaurants.restaurantIsSelected", NULL)
->where($query->expr()->in('Restaurants.restaurantId', $restaurants))
->getQuery()->getSQL();
dd($query);
}
され、私の第二の方法:
Error: Expected Literal, got 'WHERE'
どれ提案:
public function resetChosenRestaurants(array $restaurants) {
$query = $this->_em->createQueryBuilder();
$query
->update($this->entityClass, "Restaurants")
->set("Restaurants.restaurantIsSelected", NULL)
->where("Restaurants.restaurantId IN :restaurantId")
->setParameter("restaurantId", $restaurants)
->getQuery()->execute();
dd($query);
}
が、私は両方の状況でエラーが発生しましたか?