2012-05-27 152 views
1

我试图在控制器中创建一个验证,检查在关系表中他们发送账单的人的用户名是否与此名称在那里有一个活动字段,然后网站将发票保存在数据库为什么cakephp会抛出错误?

关系表是id, partyone, partytwo, active, expirydate。验证抛出这个错误解析错误:语法错误,意想不到的T_OBJECT_OPERATOR

public function add(){ 

if($this->request->is('post')){ 
$this->Invoice->set($this->request->data); 
if(this->Invoice->validates(array('fieldList'=>array('Relationship.partyone','Relationship.active')){ 
    $this->Invoice->create(); 
if ($this->Invoice->saveAll($this->request->data,array('validate'=>false))) 
{ 
    $this->Session->setFlash('The invoice has been saved'); 
} else { 
     $this->Session->setFlash('The invoice could not be saved. Please, try again.'); 
     $errors=$this->Invoice->validationErrors; 
    } 

    } 

    } 

回答

2

看起来你this之前忘了美元符号。

if(this->Invoice->validates(array('fieldList'=>array('Relationship.partyone','Relationship.active')){ 

应该

if($this->Invoice->validates(array('fieldList'=>array('Relationship.partyone','Relationship.active')){ 
+0

愚蠢的监督! – user1393064