如何最好避免在CakePHP中插入重复记录?

蒂姆

我正在从几个远程数据源中提取数据,进行重组以适合我的模型架构,最后将数组传递给 MyModel::saveAll();

我想避免导入重复记录(即,如果MyModel.external_id = 120MyModel.external_type = 'basecamp.comment'在数据库中已经存在,则不要导入)。

解决这个问题的最有效方法是什么?

样本数据:

$data['MyModel'] = [
    [
        'title' => 'foo',
        'created' => '2013-12-18 11:29:06',
        'external_id' => 120,
        'external_type' => 'github.commit'
    ],
    [
        'title' => 'bar',
        'created' => '2013-12-18 13:22:06',
        'external_id' => 120,
        'external_type' => 'basecamp.comment'
    ]
];

注意:请注意,这MyModel.external_id并不是唯一的。

德里克

这是验证起作用的地方。在您的MyModel课程中,添加以下内容:

public $validate = array(
    'external_type' => array(
        'rule' => 'idAndTypeUnique',
        'message' => "Type and ID already exist"
    )
);

public function idAndTypeUnique() 
{
    $existing = $this->find('first', array(
        'conditions' => array(
            'external_id' => $this->data[$this->name]['external_id'],
            'external_type' => $this->data[$this->name]['external_type']
         )
    ));

    return (count($existing) == 0);
}

您的saveAll()通话看起来像:

$this->MyModel->saveAll($data, array('validate' => true));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何最好避免在CakePHP中插入重复记录?

来自分类Dev

Mongoose:如何避免插入重复记录?

来自分类Dev

如何避免在表类型sql server中插入重复记录

来自分类Dev

如何避免在节点,sqlite中插入重复记录[knex,objectionJS]

来自分类Dev

如何避免在节点,sqlite中插入重复记录[knex,objectionJS]

来自分类Dev

避免代码中重复记录

来自分类Dev

提高选择然后插入的性能以避免重复记录(在mysql和php中)?

来自分类Dev

如何使 MongoDB 的列成为 SQL Server 中的主键并避免重复记录?

来自分类Dev

如何防止Rails中的重复记录

来自分类Dev

如何删除SQL中的重复记录?

来自分类Dev

避免在SQL的自反关系中重复记录

来自分类Dev

避免在SQL的自反关系中重复记录

来自分类Dev

避免在键,值结构JS中重复记录

来自分类Dev

避免特定 MySQL 列中的重复记录

来自分类Dev

如何在 SQL Server 中使用用户定义的表类型插入数据时避免重复记录

来自分类Dev

如何保护领域中的重复记录插入

来自分类Dev

如何使用PDO防止重复记录插入

来自分类Dev

如何在不使用不重复的情况下避免一对多关联中的重复记录?

来自分类Dev

SQL中的重复记录

来自分类Dev

MDB正在插入重复记录

来自分类Dev

并发导致重复记录插入

来自分类Dev

使用Npgsql插入重复记录

来自分类Dev

批量插入,忽略重复记录

来自分类Dev

MDB正在插入重复记录

来自分类Dev

并发导致重复记录插入

来自分类Dev

mysql查询插入重复记录

来自分类Dev

插入数据并检查重复记录

来自分类Dev

保证不插入重复记录?

来自分类Dev

如何防止书签表中Rails中的重复记录?

Related 相关文章

热门标签

归档