Hallo Community,
als Neuling verzweifle ich an den wahrscheinlich einfachsten Sachen, bei denen sich die Könner sicher auf die Schenkel klopfen. Aber vielleicht könnt ihr mir ja helfen...
Bei der Eingabe eines Ligamatches mit 2 Spielern über ein Frontend-Formular soll eine relationale Verknüpfung zwischen Match (Tochter-Tabelle) mit Herausforderer (Eltern-Tabelle) erfolgen. Leider verzweifle ich an dieser Aufgabe. Die Verknüpfungsspalte ist zwar vorhanden, aber ich habe keine Ahnung, wie sie mit der Bezugs-ID gefüllt werden soll.
Hier mein bisheriger Code:
Tabelle für die Ligamatches:
<?php
class SpielSubmission extends DataObject {
static $db = array(
'Saison' => 'Text',
'Spieldatum' => 'Date',
'Spieltag' => 'Int',
'Flipper' => 'Text',
'Herausforderer' => 'Text',
'Gegner' => 'Text',
'Sieger' => 'Text',
'PunkteHerausforderer' => 'Int',
'PunkteGegner' => 'Int'
);
static $has_one = array (
'Spielername' => 'Spielerverwaltung'
);
}
?>
Tabelle für die Spieler:
<?php
class Spielerverwaltung extends DataObject {
static $db = array(
'Spielername' => 'Text',
'Liga' => 'Text',
'aktiv' => 'Text',
'Punkte' => 'Int',
'Spielstaerke' => 'Int'
);
static $defaults = array(
"aktiv" => "2",
);
static $has_many = array (
'Herausforderer' => 'SpielSubmission'
);
}
?>
Controller:
<?php
class SpielerEingabe extends Page {
static $db = array(
);
static $has_one = array(
);
}
class SpielerEingabe_Controller extends Page_Controller {
function SpielereingabeForm() {
//DROPDOWNFÜLLUNG VIA ARRAY
$Liga = array(
'IsarAmper' => 'IsarAmper',
'Küste' => 'Küste'
);
// Create fields
$fields = new FieldSet(
new DropdownField('Liga','Liga', $Liga),
new TextField('Spielername','Spielername'),
new OptionsetField('aktiv', 'in aktueller Saison aktiv?', array(
'1' => 'ja',
'0' => 'nein'
))
);
// Create actions
$actions = new FieldSet(
new FormAction('doSpielerEingabe', 'Speichern')
);
// Create validator
$validator = new RequiredFields('Liga', 'Spielername');
return new Form($this, 'SpielereingabeForm', $fields, $actions, $validator);
}
// Übertragung der Eingaben an die Datenbank
function doSpielerEingabe($data, $form) {
$submission = new Spielerverwaltung();
$form->saveInto($submission);
$submission->write();
Director::redirectBack();
}
// ANZEIGEN DER SPIELER
function SpielerResults() {
$record = DataObject::get('Spielerverwaltung','','ID');
return $record;
}
}
?>
Vielen Dank für Eure Hilfe,
Robert

