Разбор вложенного XML

0

Привет, ребята, мне нужна помощь в анализе XML с несколькими вложенными атрибутами. Небольшая часть XML файла находится здесь http://pastebin.com/bswFcdeX Мне нужно разобрать XML и сохранить каждый узел в DB. Я использую Laravel. У меня есть это, в настоящее время:

foreach ($lista->sport as $sport){

    foreach ($lista->sport->league as $liga){


        $mLiga = new League();
        $mLiga->liga_id = $liga->attributes()->leagueID;
        $mLiga->liga = $liga->attributes()->competition;
        $mLiga->sport_id = current($sport->attributes()->id);
        $mLiga->save();

    }

    $mSport = new Sport();
    $mSport->id = $sport->attributes()->id;
    $mSport->sport_eng = $sport->attributes()->name;
    $mSport->save();

}

Таблица "Спорт" заполняется правильно, но таблица "Лига" заполняет все данные всеми данными Sport, комбинируя их, делая нежелательные дубликаты, а не просто заполняя данные в узле THAT Sport. Я думал, что текущий ($sport-> attributes() → id) сделает трюк.

Теги:

1 ответ

1
Лучший ответ
foreach ($lista->sport as $sport){

    foreach ($sport->league as $liga){


        $mLiga = new League();
        $mLiga->liga_id = $liga->attributes()->leagueID;
        $mLiga->liga = $liga->attributes()->competition;
        $mLiga->sport_id = current($sport->attributes()->id);
        $mLiga->save();

    }

    $mSport = new Sport();
    $mSport->id = $sport->attributes()->id;
    $mSport->sport_eng = $sport->attributes()->name;
    $mSport->save();

}

вы будете перебирать в вложенном цикле неправильные записи. попробуйте верхний код, поэтому вы повторяете лиги одного вида спорта

  • 0
    Работает как шарм, спасибо, ты спас мне жизнь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню