@misterKno

Как реализовать настройки пользователя на сайте в laravel?

Я б хотел понять как мне реализовать настройки и как ими манипулировать с базы данных.
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 4
Sanes
@Sanes
Обычный CRUD и тонна пакетов на выбор для реализации ролей.
Ответ написан
delphinpro
@delphinpro
frontend developer
1. Отдельные поля для настроек в основной модели. При добавлении настроек придется писать миграцию для изменения таблицы.
2. То же самое, но в отдельной таблице, связь один-ко-одному. При выборке не обязательно всегда тянуть вторую таблицу, а только когда она нужна. При добавлении настроек придется писать миграцию для изменения таблицы.
3. В отдельной таблице user_id/key/value. Усложняется выборка. При изменении состава настроек структура таблицы не меняется.
4. Все настройки в одном json-поле. Для удобства можно для некоторых свойств прописать в модели геттеры. При изменении состава настроек структура таблицы не меняется.
Ответ написан
Комментировать
Можно так - нужна модель Setting, поля таблицы title, key, value. Поле title для обозначения в админке, остальное, я думаю, понятно.
В AppServiceProvider пишешь
if (Schema::hasTable('settings')) {
            foreach (Setting::all() as $setting) {
                Config::set('setting.' . $setting->key, $setting->value);
            }
        }

Потом во вьюхе в нужном месте выводишь
{{ config('setting.key') }}

Ну а редактировать данные в админке как обычно.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
Я б хотел понять как мне реализовать настройки
как и все остальное в Ларавел, да и в любом другом адекватном ООП движке - миграция, модель, связь один к одному.

и как ими манипулировать с базы данных.
Обычный crud, сетим поля, сохраняем...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы