MV framework logo
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Документация
Скачать .zip версия 3.2.0 от 25.12.2024
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
Документация
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
MV tracker

Использование данных из моделей

Загрузка записи в форму

При создании формы из модели можно сразу загрузить в форму значения из базы данных для их дальнейшего изменения. Данная возможность применяется например при редактировании данных в личных кабинетах, пользователей на сайте.

class Clients extends Model 
{ 
    protected $name = 'Клиенты'; 

    protected $model_elements = [ 
        ['Имя', 'char', 'name', ['required' => true]], 
        ['E-mail', 'email', 'email', ['required' => true, 'unique' => true]], 
        ['Пароль', 'password', 'password', ['required' => true]], 
        ['Город', 'enum', 'city', ['foreign_key' => 'Cities', 'empty_value' => true]] 
    ];
}

$client = $mv -> clients -> find(93); 
$form = new Form('Clients', $client -> id);

//Загружаем данные в форму 
$form -> loadRecord();

//Можно загружать только выборочные поля 
$form -> loadRecord(['name', 'city']); 

echo $form -> display(); 

Фильтрация внешнего ключа

В форме построенной на одной модели могут использоваться данные из другой модели в полях типа enum и many_to_many. Возможны ситуации когда не все варианты внешних ключей нужно показывать в форме и их нужно отфильтровать или упорядочить. Параметры фильтрации описаны в разделе Конструктор запросов.

Пример формы регистрации пользователя с выбором города.

//Класс модели для поля 'city' у клиента
class Cities extends Model
{
   protected $name = 'Города';

   protected $model_elements = [
       ['Активировать','bool', 'active', ['on_create' => true]],
       ['Название', 'char', 'name', ['required' => true]],
       ['Страна', 'enum', 'country', ['foreign_key' => 'Countries']]
   ];
}

//В файле шаблона показываем в форме отфильтрованные города
$form = new Form('Clients');
$form -> filterValuesList('city', ['active' => 1, 'order->asc' => 'name']);

echo $form -> display();

Предыдущий раздел

Работа с данными формы

Следующий раздел

Методы форм
MV workshop banner
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться