37 lines
1.2 KiB
PHP
37 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Actions\Create;
|
|
|
|
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);
|
|
|
|
ProjektPlatzhalter::where('projekte_id', $record->id)->update(['controll' => true]);
|
|
|
|
foreach ($_platzhalter as $platzhalter) {
|
|
$result = ProjektPlatzhalter::where('projekte_id', $record->id)->where('platzhalter', $platzhalter)->get();
|
|
if ($result->count() == 0) {
|
|
$tmp = new ProjektPlatzhalter;
|
|
$tmp->projekte_id = $record->id;
|
|
$tmp->platzhalter = $platzhalter;
|
|
$tmp->controll = false;
|
|
$tmp->save();
|
|
}
|
|
}
|
|
ProjektPlatzhalter::where('projekte_id', $record->id)->where('controll', true)->delete();
|
|
}
|
|
}
|