條令遷移:如何在插入后立即檢索值

我有一個帶有標準up方法的條令遷移類,如下所示:

$this->addSql("INSERT INTO `mytable` (`name`) VALUES ('myvalue')");

        $res = $this->em->createQueryBuilder()
            ->select('a')
            ->from(MyEntityClass::class, 'a')
            ->where("a.name = :name")
            ->setParameter('name', 'myvalue')
            ->getQuery()
            ->getResult();
        $id = $res[0]->getId();

        //some other operation using $id...
        

運行此代碼時出現錯誤:注意:未定義的偏移量:0

如果手動檢查db,則不會插入該值。

但是,如果我用select查詢注釋掉了該塊,則該值將正確保存到表中。

在我看來,addSql中的查詢都是在腳本末尾執行的,有沒有辦法在值保存到db上后立即檢索該值?

? 最佳回答:

這是因為addSql沒有立即執行。嘗試執行以下操作:

$this->connection->executeUpdate("INSERT INTO `mytable` (`name`) VALUES ('myvalue')");
// and then
$lastId = $this->connection->fetchColumn('SELECT LAST_INSERT_ID()');

另外,不要在遷移中使用查詢生成器(這是一種糟糕的做法)。因為您的實體將來可以更改(甚至刪除)。

主站蜘蛛池模板: 波多野结衣中文一区二区免费| 国模无码人体一区二区| 国产成人无码一区二区在线观看 | 亚洲无码一区二区三区| 国产一区二区三区乱码| 一区三区三区不卡| 国产一区二区三区在线电影| 久久精品免费一区二区| 波多野结衣一区二区三区| AV无码精品一区二区三区| 国产精品女同一区二区| 久久久久人妻精品一区| 亚洲国产av一区二区三区丶| 人妖在线精品一区二区三区| 无码人妻少妇色欲AV一区二区 | 91在线看片一区国产| 国产一区二区三区在线观看精品| 欧洲精品码一区二区三区免费看 | 国产亚洲日韩一区二区三区 | 无码人妻精品一区二区三区东京热| 一区二区三区午夜| 一区二区精品久久| 国产在线一区二区综合免费视频| 国产激情一区二区三区四区| 无码人妻一区二区三区精品视频| 日本精品一区二区三本中文| 国产精品一区二区AV麻豆| 在线观看国产一区亚洲bd| 激情爆乳一区二区三区| 精品一区二区三区在线视频观看| 日韩十八禁一区二区久久| 中文字幕在线观看一区二区三区| 中日韩一区二区三区| 亚洲午夜福利AV一区二区无码| 亚洲AV日韩AV天堂一区二区三区| 亚洲色偷精品一区二区三区| 精品国产一区二区三区av片 | 波多野结衣AV一区二区三区中文| 精品人妻一区二区三区四区| 一区二区三区日本电影| 国产一区二区三区免费|