Как вернуть ближайшее определенное время для нескольких собраний? [MySQL]

#mysql

#mysql

Вопрос:

Я попытаюсь объяснить это как можно лучше.

Как должен проходить процесс:

  • Родительский вход в родительскую область. (У родителя есть 1 или x количество дочерних элементов)
  • В области отображается информация для их первого дочернего элемента (можно переключать представления между каждым дочерним элементом, если их больше 1)
  • Родитель щелкает список родительских собраний, затем выбирает родительское собрание.
  • Родительское собрание начнет загружаться, получите всю информацию для этого родительского собрания.
  • На основе этой первой загрузки собрания у нас будет время начала собрания.
  • В это время запуска будет выполнен еще один запрос к базе данных, проверяющий все собрания, которые начинаются в диапазоне за час до или после уже собранного собрания.
  • При этом я хочу определить время для родительских дочерних элементов для всех собраний. Однако время собрания должно быть максимально близким, и они должны быть отличительными.

Моя идея с этим состоит в том, чтобы просто дать предложение родителю забронировать собрание для всех своих дочерних элементов, исходя из времени начала их уже выбранного собрания. Это предложит время для их дочернего элемента, которое они активны в представлении. Затем выполните поиск, есть ли у них другой дочерний элемент, которому нужно время для этой встречи. Также выполните поиск всех других собраний в часовом диапазоне от времени начала, а затем проверьте, нужно ли их дочерним элементам время для этих собраний. Затем найдите ближайшее время для них, основанное на выбранной встрече, когда они вошли в родительскую область.

Я просто хотел бы посоветовать, как я мог бы начать делать это с mysql и возвращать наилучшее возможное время для каждого дочернего собрания и тренировки, чтобы время не конфликтовало с каждым дочерним собранием. (У родителя могут быть близнецы, которым потребуется индивидуальное время встречи для одного и того же урока).

Вот некоторая информация, которая будет в моей базе данных:

 Parent: [
    id: 1
]
Children: [
    Child1: [
       id: 1
       parent_id: 1
       lesson_id: 86
    ]
    Child1: [
       id: 1
       parent_id: 1
       lesson_id: 87
    ]
    Child2: [
       id: 2
       parent_id: 1
       lesson_id: 88
    ]
    Child3: [
       id: 3
       parent_id: 1
       lesson_id: 87
    ]
]
Meetings: [
    Meeting1: [
        id: 1
        lesson_id: 86
        startTime: 2016-10-07 14:30:00
    ]
    Meeting2: [
        id: 2
        lesson_id: 87
        startTime: 2016-10-07 14:45:00

    ]
    Meeting3: [
        id: 3
        lesson_id: 88
        startTime: 2016-10-07 14:50:00
    ]
]

Meeting_appointments: [
    [
        meeting_id: 1
        type: slot
        startTime: 2016-10-07 14:30:00
        endTime: 2016-10-07 14:40:00
        parent_id: 0
        child_id: 0
    ],
    [
        meeting_id: 1
        type: slot
        startTime: 2016-10-07 14:40:00
        endTime: 2016-10-07 14:50:00
        parent_id: 0
        child_id: 0
    ],
    [
        meeting_id: 2
        type: slot
        startTime: 2016-10-07 14:45:00
        endTime: 2016-10-07 14:55:00
        parent_id: 0
        child_id: 0

    ],
    [
        meeting_id: 2
        type: slot
        startTime: 2016-10-07 14:55:00
        endTime: 2016-10-07 15:25:00
        parent_id: 0
        child_id: 0
    ],
    [
        meeting_id: 3
        type: slot
        startTime: 2016-10-07 14:50:00
        endTime: 2016-10-07 14:55:00
        parent_id: 2
        child_id: 3
    ]
]