2016-02-05 6 views
13

mam dwa modele:Aktualizacja już istniejących relacji z imprezy, gdy rezerwacja zostanie zapisany w Ember

Event.js:

export default Model.extend({ 
    checked  : attr({ defaultValue: false }), 
    isActive  : attr(), 
    createdAt  : attr(), 
    updatedAt  : attr(), 
    start   : attr(), 
    end   : attr(), 
    menPrice  : attr(), 
    womenPrice : attr(), 
    information : attr(), 
    meetingPoint : attr(), 
    title   : attr(), 
    hiw   : attr(), 
    tip   : attr(), 
    bookings  : hasMany('booking', { async: true}) 
}); 

i Booking.js:

export default Model.extend({ 
    checked  : attr({ defaultValue: false }), 
    isActive  : attr(), 
    createdAt  : attr(), 
    updatedAt  : attr(), 
    participants : attr(), 
    email   : attr(), 
    locale  : attr(), 
    name   : attr(), 
    observation : attr(), 
    phoneNumber : attr(), 
    event   : belongsTo('event') 
}); 

i ja Chciałbym stworzyć relację odnoszącą się do rezerwacji w moich wydarzeniach, ale nie mogę pojąć, jak!

Jak to działa: Kiedy utworzę zdarzenie w moim pulpicie nawigacyjnym, nie ma rezerwacji, które można odnieść, dzieje się tak tylko w witrynie, gdy użytkownik dokona rezerwacji.

używam tego kodu, aby zaoszczędzić rezerwacji (rezerwacja), odnosi się zdarzenie Właściciel:

let booking = this.get('store').createRecord('booking', { 
    event: this.get('event') 
}); 

booking.save(); 

I to działa. To jak wygląda rezerwacja:

To moja rezerwacja JSON:

{ 
    "_id": { 
     "$oid": "56beb58da080cf2c2d46065b" 
    }, 
    "relationships": { 
     "event": { 
      "data": { 
       "id": "56baa0cdd79cd63c7a0f0065", 
       "type": "events" 
      } 
     } 
    }, 
    "type": "bookings", 
    "attributes": { 
     "created-at": { 
      "$date": "2016-02-13T04:48:13.489Z" 
     }, 
     "gender": "null", 
     "hostel": "null", 
     "phone-number": "918918918118", 
     "observation": "obs", 
     "name": "Marcelo", 
     "locale": "es", 
     "email": "[email protected]", 
     "participants": 10, 
     "value": 0, 
     "is-active": false, 
     "vip": [] 
    }, 
    "__v": 0 
} 

Jak widać, związek współpracuje z rezerwacji.

Teraz potrzebuję czegoś przeciwnego, to znaczy ... zaktualizuj wydarzenie, dokonując rezerwacji wewnątrz .. ale nie mogę, po prostu nie mogę tego zrozumieć! Utknąłem na tym przynajmniej przez 3 tygodnie.

Próbowałem już kilku rzeczy, w tym za pomocą opcji osadzonej, aktualizując ręcznie, ale nic nie działa.

Doceniam pomoc!

+0

Będziesz musiał użyć funkcji zwrotnej lub obietnicy. Polecam przeczytać tę stronę :) https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/ – phenxd

+0

dlaczego jest tagowany javascript w tym pytaniu, czy myślisz rozwiązanie można osiągnąć w javascript? –

+0

oczywiste, używam node.js. –

Odpowiedz

0

Być może rozumiem to pytanie niesłusznie, ale czy jest jakiś sens, aby właściwie zapisać wydarzenie przy wszystkich rezerwacjach?

Mam na myśli zwykle jeden do wielu takich relacji, w przypadku rezerwacji będzie mieć eventId wskazujące na wydarzenie, z którym są powiązane, ale zdarzenie nie zawiera odniesienia do rezerwacji. Zapisanie zmian w wydarzeniu powinno automatycznie znaleźć odzwierciedlenie we wszystkich rezerwacjach, które go dotyczą.

Powiązane problemy