Я хочу обновить таблицу сообщений по id.Но когда я попробовал эту доктрину, обновляются все строки в таблице сообщений, а не только выбранный идентификатор.
Обратите внимание, что queryBuilder приходит из DriverManager, а не из EntityManager
public function store(RequestInterface $request)
{
$db = new Config();
$db->queryBuilder()
->update("posts")
->set("title", "?")
->set("content", "?")
->where("id", "?")
->setParameter(0, $request->get("title"))
->setParameter(1, $request->get("content"))
->setParameter(2, $request->get("id"));
return redirect()->route("posts.index");
}
config class
class Config
{
private $info;
public function __construct()
{
$this->info = [
'dbname' => 'cms',
'user' => 'root',
'password' => '123456',
'host' => 'localhost',
'driver' => 'pdo_mysql',
];
}
public function conn()
{
return DriverManager::getConnection($this->info, $this->config());
}
private function config()
{
return new Configuration();
}
public function queryBuilder()
{
return $this->conn()->createQueryBuilder();
}
Что-то не так с вышеуказанными кодами?если есть, как я могу это исправить?