【发布时间】:2011-09-09 06:02:45
【问题描述】:
我有具有 HABTM 关系的模型 Person 和 Phone/Email。经过一番痛苦后,我发现,当我将 HABTM 分解为:Person hasMany PeoplePhone,Phone hasMany PeoplePhone,PeoplePhone 属于(Person,Phone)时,我发现我的生活变得更轻松了。好吧,我现在不需要任何帮助 :-),我的问题不同了:
在我可以将 Person 与他的电话或电子邮件配对之前,我需要保存此电话/电子邮件,然后获取其 ID。
现在我想只保存唯一的电话和唯一的电子邮件,所以我在 app_model.php 中创建了这个方法:
function saveUnique($data = null, $unique_fieldname = null)
{
if (! $data) { return false; }
if (! $unique_fieldname) { return false; }
$id = $this->field('id', array($unique_fieldname => $data[$this->name][$unique_fieldname]));
if ($id)
{
$this->read(null, $id);
}
else
{
$this->create();
$this->set($data);
if (! $this->validates()) { return false; }
if (! $this->save()) { return false; }
}
return true;
}
它似乎工作,但我是 CakePHP 的新手。 CakePHP 大师将如何解决这个函数/方法?
非常感谢您的宝贵时间。
-彼得
【问题讨论】:
标签: cakephp unique has-and-belongs-to-many