0
我想更新查詢。首先,我有一個這樣的數組:學說 - 無法用多種方式更新查詢
array:5 [▼
0 => 2
1 => 9
2 => 10
3 => 531
4 => 635
]
命名$restaurants
。我想要的是使用此數組更新restaurantIsSelected字段。這裏是我的代碼
第一種方式:
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);
}
這裏是我的第二個辦法:
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);
}
我在這兩個情況的錯誤:
Error: Expected Literal, got 'WHERE'
什麼建議嗎?