php - 使用教义插入查询
问题描述
大家早上好,我在 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');
}
谢谢你能给我的任何帮助。
解决方案
很好,我找到了。
$connection->exec('INSERT INTO adherent
(last_name,first_name,to_number,born)
exec 并且没有 fetchAll