将数组数据插入数据库

时间:2015-12-30 19:55:56

标签: symfony doctrine

我正在使用Symfony创建我的第一个Web应用程序。 现在我找到了一个解决方案,使我的代码更具可定制性和可扩展性。 但是为了使这个解决方案在我的应用程序中运行,我需要一些帮助。

在Symfony中是否可以插入密钥中的数据 - > value数组到数据库中的表?

例如,我有一个看起来像这样的数组: 数组('Titel'=>'The Hobbit','Music'=>'添加Sheeron')

现在我需要把它放到数据库表X中,看起来像: 标题(varchar(255)) 音乐(varchar(255))

如何将数组插入数据库?此外,数组可以包含需要插入到具有其他键名的另一个表中的数据。

换句话说,如何将数组键映射到数据库中的字段,以便我可以使用它将其插入表中?

2 个答案:

答案 0 :(得分:1)

好吧,假设您的数组名为$music。它看起来像这样:

$music = array('Titel' => 'The Hobbit', 'Music' => 'Add Sheeron');

现在,您需要创建一个实体的新实例,该实例将映射到数据库中的相应表。为此,您需要创建一个新实体,然后保持并刷新它。

$em = $this->container->get('doctrine.orm.entity_manager');
$music = array('Titel' => 'The Hobbit', 'Music' => 'Add Sheeron');
$entityMusic = new MusicEntity(); //This is your entity
$entityMusic->setTitel($music['title']); //Respective entity methods
$entityMusic->setMusic($music['Music']);
$em->persist($entityMusic);
$em->flush();

如果要插入多个值,可以运行基本for循环以插入所需的所有值。

对于问题的第二部分,您将需要查看实体的关系和映射。文档here

答案 1 :(得分:0)

据我所知,现有的方法没有。

如果您想拥有自动绑定数据,则需要使用Symfony forms。表格也有best practices

如果您不想使用表单,则需要手动绑定每个字段。