請求書を送信するときに、送信者と受信者の関係がアクティブでなければならないサイトを作成しようとしています。これは別のテーブルで行われ、他のテーブルではブール値 1 が必要です。
invoices
請求書は、次の構造でテーブルに保存されます。
id
sender
receiver
amount
date due
relationship
テーブルの構造は次のとおりです。
id
partyone
partytwo
active
partyone
partytwo
users テーブルを参照します。
users
テーブルの構造は次のとおりです。
id
username
password
私が見ようとしているのは、リレーションシップ テーブルに partyone と partytwo が含まれていて、ブール値が 1 に等しい場合です。
これは、新しい請求書を追加するために請求書テーブルにある機能です。ユーザーがそのユーザーとアクティブな関係になる前に、データベースに追加することはできません。
public function addinvoice(){
if($this->request->is('post')) {
$this->Invoice->create();
if (0 === $this->relationship->find('count',array('conditions'=>array('activate'=>1,'relationship'=> $relationship)))) {
$this->Session->setFlash('Sorry, you do not have an active relationship.');
$this->redirect($this->referer());
}
if ($this->Invoice->save($this->request->data)){
$this->Session->setFlash('The invoice has been saved');
}
} else {
$this->Session->setFlash('The invoice could not be saved. Please, try again.');
}
}