Документация

Начало работы

Модели (models)

Шаблоны (views) и маршрутизация (routes)

Формы

SQL запросы

Сессии и безопасность

Плагины

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

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

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

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

    protected $model_elements = array( 
        array("Имя", "char", "name", array("required" => true)), 
        array("E-mail", "email", "email", array("required" => true, "unique" => "true")), 
        array("Пароль", "password", "password", array("required" => true)), 
        array("Город", "enum", "city", array("foreign_key" => "Cities", "empty_value" => true)) 
    ): 
} 

$client = $mv -> clients -> findRecordById(93); 
$form = new Form("Clients", $client -> id); //Передаем в форму id записи 
$form -> loadRecord(); //Загружаем данные в форму 

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

echo $form -> display(); 

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

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

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

class Cities extends Model
{
   protected $name = "Города";

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

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

echo $form -> display();

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

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

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

Методы форм