Ich möchte Daten in zwei Tabellen (Artikel und Inhalt) veröffentlichen.Speichern von Daten in zwei verschiedenen Tabellen in CakePHP 3
Inhalt belongsTo Artikel (mehrere Inhalt für einen Artikel), und dies ist geschrieben in meinem ContentsTable.php
public function initialize(array $config)
{
parent::initialize($config);
$this->table('contents');
$this->displayField('id');
$this->primaryKey('id');
$this->addBehavior('Timestamp');
$this->belongsTo('Articles', [
'foreignKey' => 'article_id',
'joinType' => 'INNER'
]);
}
Jetzt möchte ich alle Inhalte in der Tabelle schreiben und auch einen Artikel erstellen.
ContentsController.php
public function add()
{
$content = $this->Contents->newEntity();
$id = $this->Auth->user('id');
if ($this->request->is('post')) {
$contents = $this->Contents->newEntities($this->request->data());
foreach ($contents as $content) {
$content->article_id = $id;
$this->Contents->save($content);
}
}
$this->set(compact('content'));
$this->set('_serialize', ['content']);
}
Ich habe versucht, es zu tun, indem associated
verwenden, aber es hat nicht funktioniert.
$content = $this->Contents->newEntity($this->request->data, [
'associated' => ['Articles']
]);
"_doesn't work_" ist keine korrekte Problembeschreibung! Auch wenn das Problem für Leute offensichtlich ist, die die CakePHP-Interna kennen, sei bitte immer so genau wie möglich, was _exactly_ passiert und was du stattdessen erwartest. Zeigen Sie die Daten, mit denen Sie arbeiten (die Post-Daten), den Code, der zur Reproduktion des Problems benötigt wird (alle Entitäts-/Sicherungscodes, nicht nur den 'newEntity()' -Aufruf), Ihre Debugging-Versuche (nicht nur "Workarounds")) und mögliche Fehler (Validierungsfehler, Ausnahmen, usw.). Oft löst sich das Problem selbst beim Sammeln solcher Informationen. – ndm