Ответы пользователя по тегу MySQL
  • Как написать запрос к таблице с внутренней связью?

    kostia256
    @kostia256
    id;name;parent
    1;alex;0
    2;mary;1
    3;alice;1
    4;hoover;2

    Преобразуйте в 2 таблицы вида:
    id;name
    1;alex
    2;mary
    3;alice
    4;hoover

    parent_id;element_id
    1;2
    1;3
    1;4
    2;4


    Список всех родителей для элемента 4:
    SELECT * FROM `people` WHERE `id` IN (SELECT `parent_id` FROM `people_tree` WHERE `element_id` = 4)

    Список всех детей для элемента 1:
    SELECT * FROM `people` WHERE `id` IN (SELECT `element_id` FROM `people_tree` WHERE `parent_id` = 1)


    Для удобства можно добавить к таблице `people` поля level и position, и получать детей либо родителей на любое количество уровней вложенности. А position для позиционирования элементов на каждом уровне для каждого родителя.
    Ответ написан
    Комментировать
  • Как правильно организовать авторизацию в node.js?

    kostia256
    @kostia256
    Стоит понимать что принцип авторизации везде одинаков.
    1. Идентификация (проверка существование пользователя по login)
    2. Аутентификация (проверка пароля)
    3. Авторизация (проверка прав доступа)
    Сохраняете информацию о пользователе в сессии достаточную чтобы миновать этапы 1 и 2, и сразу переходить к этапу 3. Соответственно когда умирает сессия нужно повторно произвести все шаги авторизации.
    Ответ написан
    2 комментария
  • Как использовать ORM в данном случае?

    kostia256
    @kostia256
    Про laravel не в курсе, но можно в WHERE прописать условие `payments`.`entity_type` = 'salary', не обязательно в ON. Сам сталкивался с такой проблемой на днях в другом фреймворке.
    Ответ написан