首页 > 解决方案 > 使用教义插入查询

问题描述

大家早上好,我在 symfony4 下的一个项目'我做了一个协会会员管理申请。直到现在,当我想用​​ csv 文件更新我的会员列表时,我直接在 phpMyAdmin 中完成了。我有一个暂存表,我称之为“import_csv”。我在这张桌子上导入了我的 csv 文件,感谢我添加和更新我的会员列表的两个请求。但我想创建一个管理界面来做同样的事情。我设法在我的中间表上创建了我的 csv 文件的导入管理。我想将我的 SQL 查询转录到我的 Symfony 控制器中,这就是我要阻止的地方。我的第一个 SQL 查询来添加位于我的表上的新成员:

INSERT INTO adherent
(last_name,first_name,to_number,born)
  
SELECT
import_csv.last_name,import_csv.first_name,iimport_csv.to_number,import_csv.born
FROM import_csv LEFT JOIN adherent ON import_csv.to_number=adherent.to_number
WHERE adherent.to_number IS NULL

我尝试了很多东西,但我做不到:

/**
     * @Route("import/insert", name="import_insert")
     */
public function import_insert(ObjectManager $manager)
{
  
    $qb = $manager->createQueryBuilder();
    $qb ->select('import_csv.last_name,import_csv.first_name,import_csv.to_number,import_csv.born')
        ->from('\App\Entity\Import_csv','i')
        ->leftjoin('\App\Entity\Adherent on i.to_number=a.to_number','a')
        ->where('a.to_number IS NULL');
  
        $adherent = new \App\Entity\Adherent();
  
        $manager->persist($adherent);
        $manager->flush();
  
    return $this->redirectToRoute('import_csv');
}

谢谢你能给我的任何帮助。

标签: phpsqlsymfonyinsertdoctrine

解决方案


很好,我找到了。

$connection->exec('INSERT INTO adherent
    (last_name,first_name,to_number,born)

exec 并且没有 fetchAll


推荐阅读