Habe das Problem jetzt wie folgt gelöst:
Ich lese alle Datensätze aus der Projekte - Tabelle und überprüfe dann ob der zu löschende Mitarbeiter im Feld leitung, stellvertreter oder mitarbeiter vorhanden ist.
PHP-Code:
public function MitarbeiterLoeschen(DataContainer $dc, $undo_id)
{
$datensatz_vorhanden = false;
$ds_amt = $this->Database->prepare("SELECT id,leitung,stellvertreter,mitarbeiter,titel FROM tl_vr_aemter")
->execute();
while($ds_amt->next())
{
$ds_mitarbeiter = deserialize($ds_amt->mitarbeiter);
if (in_array($dc->id, $ds_mitarbeiter)) {
$datensatz_vorhanden = true;
}
elseif($dc->id == $ds_amt->leitung) {
$datensatz_vorhanden = true;
}
elseif($dc->id == $ds_amt->stellvertreter) {
$datensatz_vorhanden = true;
}
}
if($datensatz_vorhanden == true){
$undo_lo = $this->Database->prepare("DELETE FROM tl_undo WHERE id=?")
->execute($undo_id);
Message::addError('<b>Achtung:</b></br> Der Datensatz kann nicht gelöscht werden, da noch Verknüpfungen zu anderen Einträgen existieren!');
System::redirect('contao/main.php?do=mitarbeiter');
}
}
Lesezeichen