Ich versuche eine Anwendungsregel hinzuzufügen, die verhindert, dass doppelte Zeilen gespeichert werden.CakePHP 3 - Anwendungsregeln für das eindeutige Feld
Ich folgte dem Buch über creating unique field rules, aber es scheint nicht zu funktionieren, oder ich mache etwas falsch.
<?php
namespace App\Model\Table;
use Cake\ORM\Rule\IsUnique;
use Cake\ORM\RulesChecker;
use Cake\ORM\Table;
class CustomersTable extends Table
public function buildRules(RulesChecker $rules)
{
return $rules->add($rules->isUnique(['email']));
}
}
Nur Durchführung gerade sparen:
$this->loadModel('Customers');
$this->Customers->save($customer);
am IsUnique class source code sah Nachdem ich bekommen, dass es sollte über seine __invoke()
magische Methode aufgerufen werden, bekommen aber meine Anwendung nach wie vor wirft eine Ausnahme aufgrund der doppelte Zeile versucht zu speichern.
Gibt es etwas falsch mit meinem Code oben?
Vielleicht aussehen '$ this-> Kunden' nicht eine Instanz Ihrer 'Customers ist 'Unterklasse, aber eine Auto-Tabelle. – ndm