0

我正在尝试创建一个站点,当我们发送发票时,发送方和接收方之间的关系必须处于活动状态。这是在一个单独的表中完成的,并且需要另一个表中的布尔值 1。

发票将保存在invoices具有以下结构的表中:

id
sender
receiver
amount
date due

relationship表具有以下结构:

id
partyone
partytwo
active

partyonepartytwo参考用户表。

users表具有以下结构:

id
username
password

我想看到的是,如果关系表包含partyone 和partytwo 并且布尔值等于一。

这是我在发票表中添加新发票的功能。在用户与该用户处于活动关系之前,不能将其添加到数据库中。

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.');
}
}
4

1 回答 1

0

这是您问题的简单答案。

像这样修改你的发现:

$relationship = $this->relationship->find('count', array(
    'conditions' => array(
        'partyone' => $user_one_id,
        'partytwo' => $user_two_id,
    ),
));

if (!$relationship) {
    //Error here
} else {
    //Save here
}
于 2012-05-24T22:32:17.097 回答