Задать вопрос
Ответы пользователя по тегу MySQL
  • Вывод из базы данных mysql каждый элемент как массива Php+mysql?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    Ну во первых: то что вы хотите сделать, очень похоже на денормализацию базы данных что не есть хорошо. Ну не мне судить я не знаю нюансов вашего случая.
    Во вторых это можно сделать на php так: Допустим что $items это коллекция (в виде обычного массива) записей вашей базы, тогда чтобы привести её к нужному вам виду нужно сделать что-то типа:
    $arr = [];
    foreach($items as $item) {
        $arr[$item['id_article']][] = $item['size'];
    }
    
    $result = [];
    foreach($arr as $key => $val) {
        $result[$key] = join(',',$val);
    }
    Ответ написан
    Комментировать
  • Как лучше всего реализовать дополнительные поля?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    Я тоже изучаю этот вопрос, и я пока что вижу, что самый оптимальный вариант реализации вот такой (типа инфоблоки в битриксе или информационные системы в HostCMS).

    Имеем следующие таблицы:
    1) Сами записи (id|...|category_id)
    2) Категории (вида id|parent_id|customfields_table)
    3) Набор кастомных полей для категории (id|custom_1|custom_2|...)
    4) Описание кастомных полей для таблицы кастомных полей (custom_{id}|type|name|slug|...)
    Как-то так, всё нормализовано и связано, в моём примере наборы кастомных полей привязываются к категориям, как в JBZoo или в HostCMS но в этом же стиле можно привязать их к иным сущностям, как инфоблоки в битриксе, но эти инфоблоки связаны так-же с категориями (ну дальше логика уже зависит от задач).

    Есть ли ещё какие-то соображения?
    P.S. А вопрос интересный и совсем не глупый.
    Ответ написан
  • Нужны ли внешние ключи в БД при разработке на laravel?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    [ Внимание, это моё мнение не претендующее на best practices ] Одна из прелестей Laravel, это довольно сильное абстрагирование от базы данных благодаря чудесному уровню абстракции QueryBuilder и Eloquent ORM, сегодня вы используете SQLite а завтра MySQL, а послезавтра решите использовать PostgreSQL и т.д. при этом вам не придётся ничего особо переделывать в приложении (при использовании моделей или QB без голых запросов).
    По этому желательно не возлагать никакой логики на базу данных, все отношения (а так-же акцессоры и мутаторы, ассоциации) описываются в моделях и позволяют контролировать целостность данных средствами Laravel а не базы данных.
    Ответ написан
    4 комментария
  • Как получить даные из трех таблиц?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    Ещё можно использовать GROUP BY, выглядит примерно так:
    SELECT books.id, books.bookname
    FROM pivot_table, books, users
    WHERE books.id = pivot_table.book_id
    AND pivot_table.user_id = 3
    GROUP BY books.bookname
    Ответ написан
    2 комментария
  • Почему не работает MIN() в SQL запросе?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    Значит запись с результатом "5.00" не подходит под условия "where ARTICLE='123' AND BRAND='321'"
    Ответ написан