重複する行が保存されないようにするアプリケーションルールを追加しようとしています。CakePHP 3 - 固有のフィールドのアプリケーションルール
私はcreating unique field rulesについて本に従っていますが、うまくいかないか、間違っています。
<?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']));
}
}
ちょうど行っストレート保存:
$this->loadModel('Customers');
$this->Customers->save($customer);
がIsUnique class source codeを見た、私はそれがその__invoke()
マジックメソッド経由で呼び出さ取得する必要がありますが、私のアプリケーションは、まだ原因に例外がスローされていることを取得重複行が保存しようとしています。
上記のコードに間違いがありますか?
のように見えるかもしれたぶん 'ます$ this-> Customers'は、あなたの' CustomersTableのインスタンスではありません'サブクラスですが、オートテーブルです。 – ndm