54 lines
1.8 KiB
PHP
54 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace kernel\app_modules\gestalt_profile_relationship\services;
|
|
|
|
use kernel\app_modules\gestalt_profile\models\Gestalt_profile;
|
|
use kernel\helpers\Debug;
|
|
use kernel\app_modules\gestalt_profile_relationship\models\GestaltProfileRelationship;
|
|
use kernel\FormModel;
|
|
|
|
class GestaltProfileRelationshipService
|
|
{
|
|
public function create(FormModel $form_model): false|GestaltProfileRelationship
|
|
{
|
|
$model = new GestaltProfileRelationship();
|
|
$model->gestalt_profile_id = $form_model->getItem('gestalt_profile_id');
|
|
$model->entity = $form_model->getItem('entity');
|
|
$model->entity_id = $form_model->getItem('entity_id');
|
|
|
|
if ($model->save()){
|
|
return $model;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public function update(FormModel $form_model, GestaltProfileRelationship $gestalt_profile_relationship): false|GestaltProfileRelationship
|
|
{
|
|
$gestalt_profile_relationship->gestalt_profile_id = $form_model->getItem('gestalt_profile_id');
|
|
$gestalt_profile_relationship->entity = $form_model->getItem('entity');
|
|
$gestalt_profile_relationship->entity_id = $form_model->getItem('entity_id');
|
|
|
|
if ($gestalt_profile_relationship->save()){
|
|
return $gestalt_profile_relationship;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public static function getProfileByEntity(string $entity, int $entity_id): array
|
|
{
|
|
$profiles = GestaltProfileRelationship::with('profile')->where("entity_id", $entity_id)->where("entity", $entity)->get();
|
|
$value = [];
|
|
foreach ($profiles as $profile) {
|
|
$value[$profile->gestalt_profile_id] = $profile->profile->fio;
|
|
}
|
|
|
|
return $value;
|
|
}
|
|
|
|
public static function getProfilesList(): array
|
|
{
|
|
return Gestalt_profile::pluck('fio', 'id')->all();
|
|
}
|
|
} |