我正在尝试创建一个网站,当我们发送发票时,发件人和收件人之间的关系必须处于活动状态。这是在一个单独的表中完成的,并且在另一个表中需要一个布尔值。
发票将保存在表invoices
中,其结构如下:
id
sender
receiver
amount
date due
relationship
表具有以下结构:
id
partyone
partytwo
active
partyone
和partytwo
引用用户表。
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.');
}
}
答案 0 :(得分:0)
这是你问题的简单答案。
像这样修改你的发现:
$relationship = $this->relationship->find('count', array(
'conditions' => array(
'partyone' => $user_one_id,
'partytwo' => $user_two_id,
),
));
if (!$relationship) {
//Error here
} else {
//Save here
}