Cakephp3で自分の投稿したタイトルが重複してた場合、「すでに登録されています」的なエラーを出したいと思っています。
現在、テーブルの全フィールドの中から、重複していた場合、見つけ出せるのですが、それではユーザ全員に適用されてしまいます。
user_idをwhere句に指定すればよいことは想像つくのですが、以下のプログラムを書いても
Table "App\Model\Table\PostsTable" is not associated with "request"と出ます。
public function exist($value, $context) { $table = $context['providers']['table']; //$query = $table->find(); //上の場合、全フィールドからの重複チェック $user_id = $this->request->session()->read('Auth.User.id'); $query = $table->find()->where('user_id',$user_id); //上2行を変えていきたい。 $query->where([$context['field'] => $value]); $count = $query->count(); return (bool) $count == 0; }
どのようにすればよいでしょうか。宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/07 10:19
2016/07/08 01:27
2016/07/08 05:51
2016/07/08 09:32
2016/07/08 09:56