Doctrine DBAL обновляет все строки - PullRequest
0 голосов
/ 12 июня 2018

Я хочу обновить таблицу сообщений по 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();
}

Что-то не так с вышеуказанными кодами?если есть, как я могу это исправить?

...