Подтвердить что ты не робот

Обновление уже существующего события с отношением при сохранении бронирования в 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})
});

и 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')
});

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

Как это работает: когда я создаю событие в панели управления admin, заказы не заказываются, это происходит только на сайте, когда пользователь делает резервирование.

Я использую этот код, чтобы сохранить бронирование (резервирование) и передать событие владельца:

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

booking.save();

И это работает. Как выглядит бронирование:

Это мое бронирование 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
}

Как вы можете видеть, отношения работают с бронированием.

Теперь мне нужно обратное, я имею в виду.. обновить событие с бронированием внутри... но я не могу, я просто не могу понять, как это сделать! Я застрял на этом, по крайней мере, в течение 3 недель.

Я уже пробовал несколько вещей, включая использование встроенной опции, обновление вручную, но ничего не работает.

Я ценю помощь!

4b9b3361

Ответ 1

Возможно, я понимаю вопрос неправильно, но есть ли смысл фактически сохранить событие со всеми заказами?

Я имею в виду, как правило, для отношений от одного до многих, таких как этот, у заказов будет eventId, указывающий на событие, с которым они связаны, но событие не содержит ссылки на заказы. Сохранение изменений в событии должно автоматически отражаться на всех заказах, ссылающихся на него.