2017-12-19 240 views
6

mam to poniżej obiektu jsonWstaw dane teleadresowe język mysql (Sequelize) przy użyciu JavaScript (NodeJS) na podstawie wartości przycisk radiowy

{ 
    "phoneno": [ 
    { 
     "field1": "Mohamed", 
     "field2": "123456789", 
     "field3": "Sameer" 
    }, 
    { 
     "field1": "Ganesh", 
     "field2": "987654321", 
     "field3": "Pandiyan" 
    } 
    ], 
    "sender": "ifelse", 
    "message": "test" 
} 

przytaczam ten JSON w interfejsie użytkownika używając angularjs NG-repeat, również ja m wyświetlanie przycisku radiowego dynamicznie, patrz poniższy obrazek

enter image description here

widać jest przycisk radiowy zaznaczone, w tym kolumn, mam dwa numery telefonów, więc chcę zrobić ostateczny przedmiot tak:

[ 
    {"phoneno" : 123456789 ; "sender" : "ifelse" ; "message" : "test"}, 
    {"phoneno" : 987654321 ; "sender" : "ifelse" ; "message" : "test"} 
] 

Na przykład, jeśli mam tego typu JSON:

{ 
    "phoneno": [ 
    { 
     "field1": "123456789", 
     "field2": "Mohamed", 
     "field3": "Sameer" 
    }, 
    { 
     "field1": "987654321", 
     "field2": "Ganesh", 
     "field3": "Pandiyan" 
    } 
    ], 
    "sender": "ifelse", 
    "message": "test" 
} 

teraz znowu

przytaczam ten JSON w interfejsie użytkownika używając NG-repeat, również mam opcję wyświetlania dynamicznie, patrz poniższy obrazek

enter image description here

zobaczyć tam jest zaznaczone przycisk radiowy, w tym kolumn, mam dwa numery telefonów, więc chcę dokonać ostatecznego przedmiotu takiego:

[ 
    {"phoneno" : 123456789 ; "sender" : "ifelse" ; "message" : "test"}, 
    {"phoneno" : 987654321 ; "sender" : "ifelse" ; "message" : "test"} 
] 

jeśli mam tego typu obiektu, można wstawić luzem do mysql przy pomocy sequelize.

Jak to zrobić?

moi api.js (nie jeszcze kod, szukając rozwiązania)

exports.sendFile2Sms = function (req, res) { 

}; 
+0

przyciski radiowe wiążą się odpowiedni indeks kolumna/nazwę lub po prostu użyć koparki ngChange i PAS indeksu/nazwy jako parametr. – dfsq

+0

Czy możesz zamieścić jakieś rozwiązanie? będzie mi bardzo pomocny –

+0

Możliwy duplikat https://stackoverflow.com/questions/35079286/sequelize-bulkcreate-returns-null-value-for-primary-key – emil

Odpowiedz

1

To będzie pomocne dla Ciebie, w danych, należy wspomnieć, która kolumna wybrany na przykład field2 wybrano oznacza, że ​​powinieneś dołączyć to do danych JSON.

W twoim przypadku, dodałem nowy klucz do znalezienia które jest kolumna "selected_radio":"field2" jak to należy zrobić to samo na swojej przedniej

i tutaj jest kanciasty częścią zmienić dane JSON

var data={ 
 
    "phoneno": [ 
 
    { 
 
     "field1": "Mohamed", 
 
     "field2": "123456789", 
 
     "field3": "Sameer" 
 
    }, 
 
    { 
 
     "field1": "Ganesh", 
 
     "field2": "987654321", 
 
     "field3": "Pandiyan" 
 
    } 
 
    ], 
 
    "sender": "ifelse", 
 
    "message": "test", 
 
    "selected_radio":"field2" 
 
}; 
 
var new_data=[]; 
 
_.each(data.phoneno,function(obj){ 
 
new_data.push({"phoneno":obj[data.selected_radio],"sender":data.sender,"message":data.message}); 
 
}) 
 
console.log(new_data);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

+1

Tak, masz rację, jeśli wybrałem drugą kolumnę przycisk radiowy, chcę dodać klucz w jsonie o nazwie "selected_radio": "field2 –

+0

Dziękuję bardzo :) uratuj mój dzień –