Files
nutzwerte_fi4/app/Actions/Create/CreatePlatzhalter.php
T
2025-11-17 09:55:09 +01:00

40 lines
1.3 KiB
PHP

<?php
namespace App\Actions\Create;
use App\Actions\Generate\Utilities\Filter;
use App\Models\Projekte;
use App\Models\ProjektInhaltsverzeichnis;
use App\Models\ProjektPlatzhalter;
class CreatePlatzhalter
{
public function create($record)
{
$result = ProjektInhaltsverzeichnis::select('textblock')->where('projekte_id', $record->id)->get();
$_platzhalter = [];
foreach ($result as $value) {
preg_match_all('/###(.*)###/U', $value['textblock'], $pat_array);
$_platzhalter = array_merge($_platzhalter, $pat_array[0]);
}
$_platzhalter = array_unique($_platzhalter);
$_platzhalter = Filter::array_remove($_platzhalter, ['###INTERNER_NAME###', '###ORT###', '###DATUM###']);
ProjektPlatzhalter::where('projekte_id', $record->id)->update(['controll' => true]);
foreach ($_platzhalter as $platzhalter) {
ProjektPlatzhalter::updateOrCreate(
['projekte_id' => $record->id, 'platzhalter' => $platzhalter],
['controll' => false]
);
}
ProjektPlatzhalter::where('projekte_id', $record->id)->where('controll', true)->delete();
Projekte::where('id', $record->id)->update([
'evaluation_gutachten' => false,
]);
}
}