Php Symfony-将数组的元素发布到db

Php Symfony-将数组的元素发布到db,php,arrays,database,symfony,Php,Arrays,Database,Symfony,我得到了这个文件 我需要填充到db中的字段(类型和数据字段)。一个字段(数据),我在其中以字符串形式返回所有数组对象,我这样做了。还有一种(类型),我需要返回卡授权、卡财务等 这是我的数据库 我的函数是填充数据字段,但我不知道如何填充我提到的类型字段 这是我的密码 public function serializeTransactions() { $xml = simplexml_load_file("/var/www/html/web/uploads/gps-trans.xml");

我得到了这个文件

我需要填充到db中的字段(类型和数据字段)。一个字段(数据),我在其中以字符串形式返回所有数组对象,我这样做了。还有一种(类型),我需要返回卡授权、卡财务等

这是我的数据库

我的函数是填充数据字段,但我不知道如何填充我提到的类型字段

这是我的密码

public function serializeTransactions()
{
    $xml = simplexml_load_file("/var/www/html/web/uploads/gps-trans.xml");

    $response = json_decode(json_encode((array)$xml), true);

    foreach ($xml as $result) {
        $result = (array)$result;
        $gps = new Transactions();
        $gps->setType();
        $gps->setData(json_encode($result));

        $this->em->persist($gps);
    };

    $this->em->flush();
}

对不起,如果我的英语不是很好,我真的需要一些帮助。

你的代码很奇怪

$response = json_decode(json_encode((array)$xml), true);
为什么

然而。。。如果要使用
$gps->setType()保存类型并假设,$结果是SimpleXMLElement类型。。。那怎么办

foreach ($xml as $result) {
    $gps = new Transactions();
    $gps->setType($result->getName());
    $gps->setData(json_encode((array)$result));

    $this->em->persist($gps);
};

谢谢大家的重播。我找到了解决办法

 public function serializeTransactions()
{
    $xml = simplexml_load_file("/var/www/html/web/uploads/gps-trans.xml");

    foreach ($xml as $key => $result) {

        $result = (array)$result;
        $gps = new Transactions();
        $gps->setType($key);
        $gps->setData(json_encode($result));

        $this->em->persist($gps);
    };

    $this->em->flush();
}

对不起,你的问题是什么?您的代码不工作吗?是如何工作的?$gps->setType();我需要用卡授权、卡财务等填充该字段,。(见图)。。其他字段工作正常。对数组调用成员函数getName()时出错。如果我尝试$result->getName($xml),它将返回整个xml文件的名称,我需要的是卡授权、卡金融等。编辑我的答案。。。只需将类型转换从SimpleXmlElement删除到array,然后在需要时添加它。。。如果您的文档不在正确的深度,只需在xml树中更深入。。。我不知道您的初始xml