За последние 24 часа нас посетили 24786 программистов и 1646 роботов. Сейчас ищет 981 программист ...

совет по архитектуре

Тема в разделе "PHP и базы данных", создана пользователем immortal.1986, 19 окт 2016.

  1. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    нужен советик(пока только совет!)
    впринцепи сам знаю! но что то у руководителя другая мысля(может я не все моменты задачи знаю)
    смотрите есть таблица cameras
    (id, city, baseurl, lat, lng итд)

    в ней хранятся камеры!
    каторые выводяться на сайт.

    есть камеры публичные, а есть не публичные.

    так вот надо что бы если зашел guest видел все публичные,
    зашел user_police и видел публичные и свои!

    зашел user_пожарники видят только свои камеры(пожарников)

    я думаю решение такое
    надо в табл cameras добавить два поля
    1 publis (с значениями 1, 0 ) 0 публичные 1 не публичные
    и второе поле user_access (1, 2, 3 ....) 1 - guest 2- police 3- fireman ....

    соотвеcтвенно создать вторую табл
    user_access
    id name
    1 user_guest
    2 police
    3 fireman

    и делать запрос SELECT * FROM cameras WHERE publish = 0 AND user_access = (id_user_access)


    шо скажете? если нужны уточнения говорите уточню! ПРОЕКТ ОГРОМНЫЙ идет пока мозговой штурм(хотелось бы не ударить лицом в шоколад!)
    спасибо жду!
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Почитай про ACL, RBAC в framework'ах обычно уже реализовано, можно даже просто их часть использовать.
     
  3. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    Спасибо за пинок вроде дельный совет гляну! Phalcon фреймворк на катором ведеться разработка! может еще тыкнешь носом!
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Куда конкретно ещё направить?
     
  5. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    все отлично спасибо!!!!! вопрос другого характера! можно ли сделать запрос ?
    смотрите допустим выбрали 1,2,3 камеру (ПУБЛИЧНЫЕ) и камеры конкретно его (допустим в его камерах попалась ТА КАТОРАЯ ПУБЛИЧНАЯ) тоесть продублировалась!!! можно сделать GROUPE by? говорять что требуеться агригирующие функции,(в таблице камеры оч много полей!)
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ещё есть MySQL DISTINCT
     
    immortal.1986 нравится это.
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    :D

    0 - публичные
    1 - полиция
    2 - пожарные
    и т.п.
    Второе поле не нужно для этого.

    Если их в базе две, то их уже две, и это разные камеры. Если одна, то она не продублируется.