Symfony - публиковать элементы массива в БД - PullRequest
0 голосов
/ 26 июня 2018

Я получил этот файл .. Мой список массивов

Мне нужно заполнить поля в дБ (тип и поле данных). Одно поле (данные), где я возвращаю все объекты массива в виде строки, что я и сделал. И другой (тип), где мне нужно вернуть авторизацию карты, финансовую карту и т. Д.

Это мой БД.

Моя база данных

Моя функция заполняет поле данных, как и должно, но я не знаю, как заполнить поле типа, которое я упомянул.

Это мой код ..

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();
}

Извините, если мой английский не очень хорош, я мог бы действительно помочь.

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Спасибо всем за повтор. Я нашел решение.

 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();
}
0 голосов
/ 26 июня 2018

Ваш код странный ...

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

зачем?

Однако ... если вы хотите сохранить тип с помощью $gps->setType(); и предположить, что ваш $ result является типом SimpleXMLElement ... как насчет

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

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

???

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...