CakePHP 1.3-检查数据库中是否存在用户电子邮件地址?
我正在CakePHP1.3中构建一个简单的FAQ系统,它将用户与他们提出的问题联系起来 我遇到的问题是,如果同一个用户问了另一个问题(没有登录或帐户),我不想在数据库中为该用户创建另一个条目(基于他们的电子邮件地址是否存在),而只是将该用户ID分配给该问题 我的add()函数当前如下所示:CakePHP 1.3-检查数据库中是否存在用户电子邮件地址?,cakephp,Cakephp,我正在CakePHP1.3中构建一个简单的FAQ系统,它将用户与他们提出的问题联系起来 我遇到的问题是,如果同一个用户问了另一个问题(没有登录或帐户),我不想在数据库中为该用户创建另一个条目(基于他们的电子邮件地址是否存在),而只是将该用户ID分配给该问题 我的add()函数当前如下所示: function add() { if(!empty($this->data)) { unset($this->Question->Visitor-&
function add() {
if(!empty($this->data)) {
unset($this->Question->Visitor->validate['visitor_id']);
if ($this->Question->saveAll($this->data)) {
$this->Session->setFlash(__('The question has been saved', true));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The question could not be saved. Please, try again.', true));
}
}
}
Questions
id
visitor_id
question
url
status_id
category_id
description
keywords
created
modified
Visitors
id
name
emailaddress
newsletter
ipaddress
created
modified
我的数据库结构如下:
function add() {
if(!empty($this->data)) {
unset($this->Question->Visitor->validate['visitor_id']);
if ($this->Question->saveAll($this->data)) {
$this->Session->setFlash(__('The question has been saved', true));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The question could not be saved. Please, try again.', true));
}
}
}
Questions
id
visitor_id
question
url
status_id
category_id
description
keywords
created
modified
Visitors
id
name
emailaddress
newsletter
ipaddress
created
modified
我该怎么做呢
谢谢 提交add表格时,注意 通过$this->data['Question']['email']搜索合适的访问者
$this->Question->Visitor->findByEmail($this->data['Question']['email']);
如果未返回任何内容,则另存为新记录
如果您找到一个访问者,请使用主键设置$this->data['Question']['visitor\u id']
使用主键设置$this->data['Visitor']['id'](假设他们在同一表单上添加访客信息),然后保存。在提交add表单时,如果存在主键,将对访问者执行更新 通过$this->data['Question']['email']搜索合适的访问者
$this->Question->Visitor->findByEmail($this->data['Question']['email']);
如果未返回任何内容,则另存为新记录
如果您找到一个访问者,请使用主键设置$this->data['Question']['visitor\u id']
使用主键设置$this->data['Visitor']['id'](假设他们在同一表单上添加访客信息),然后保存。由于在中存在主键,将对访问者执行更新我没有将我的电子邮件列命名为“电子邮件”,因此我无法使用findByEmail函数,但我通过以下操作实现了相同的结果:然后使用findByEmailaddress(),这是一种提取字段名的神奇方法!我没有将我的电子邮件列命名为“email”,因此我无法使用findByEmail函数,但我通过执行以下操作获得了相同的结果:然后使用findByEmailaddress(),这是一种提取字段名的神奇方法!