77 lines
3.1 KiB
PHP
77 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace kernel\app_modules\gestalt_profile\services;
|
|
|
|
use kernel\helpers\Debug;
|
|
use kernel\app_modules\gestalt_profile\models\Gestalt_profile;
|
|
use kernel\FormModel;
|
|
|
|
class Gestalt_profileService
|
|
{
|
|
protected Gestalt_profile $model;
|
|
public function __construct()
|
|
{
|
|
$this->model = new Gestalt_profile();
|
|
}
|
|
|
|
public function create(FormModel $form_model): false|Gestalt_profile
|
|
{
|
|
$model = new Gestalt_profile();
|
|
// Пример заполнения:
|
|
$model->user_id = $form_model->getItem('user_id');
|
|
$model->fio = $form_model->getItem('fio');
|
|
$model->phone = $form_model->getItem('phone');
|
|
$model->email = $form_model->getItem('email');
|
|
$model->city = $form_model->getItem('city');
|
|
$model->photo = $form_model->getItem('photo');
|
|
$model->community_status = $form_model->getItem('community_status');
|
|
$model->specialization = $form_model->getItem('specialization');
|
|
$model->description_of_professional_activity = $form_model->getItem('description_of_professional_activity');
|
|
$model->past_events = $form_model->getItem('past_events');
|
|
$model->upcoming_events = $form_model->getItem('upcoming_events');
|
|
$model->under_curation_events = $form_model->getItem('under_curation_events');
|
|
$model->status = $form_model->getItem('status');
|
|
$model->show_on_main = $form_model->getItem('show_on_main');
|
|
|
|
if ($model->save()){
|
|
return $model;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public function update(FormModel $form_model, Gestalt_profile $gestalt_profile): false|Gestalt_profile
|
|
{
|
|
// Пример обновления:
|
|
$gestalt_profile->user_id = $form_model->getItem('user_id');
|
|
$gestalt_profile->fio = $form_model->getItem('fio');
|
|
$gestalt_profile->phone = $form_model->getItem('phone');
|
|
$gestalt_profile->email = $form_model->getItem('email');
|
|
$gestalt_profile->city = $form_model->getItem('city');
|
|
$gestalt_profile->photo = $form_model->getItem('photo');
|
|
$gestalt_profile->community_status = $form_model->getItem('community_status');
|
|
$gestalt_profile->specialization = $form_model->getItem('specialization');
|
|
$gestalt_profile->description_of_professional_activity = $form_model->getItem('description_of_professional_activity');
|
|
$gestalt_profile->past_events = $form_model->getItem('past_events');
|
|
$gestalt_profile->upcoming_events = $form_model->getItem('upcoming_events');
|
|
$gestalt_profile->under_curation_events = $form_model->getItem('under_curation_events');
|
|
$gestalt_profile->status = $form_model->getItem('status');
|
|
$gestalt_profile->show_on_main = $form_model->getItem('show_on_main');
|
|
|
|
if ($gestalt_profile->save()){
|
|
return $gestalt_profile;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public static function getCount()
|
|
{
|
|
return Gestalt_profile::count();
|
|
}
|
|
|
|
public static function getLast4(): array
|
|
{
|
|
return Gestalt_profile::query()->limit(4)->orderBy('id', 'desc')->get()->toArray();
|
|
}
|
|
} |