【问题标题】:Is it possible to set 2 separate unique fields using Redbean ORM是否可以使用 Redbean ORM 设置 2 个单独的唯一字段
【发布时间】:2014-06-30 01:16:29
【问题描述】:

我正在使用 redbeanPHP ORM 和 mysql。我有下表:

CREATE TABLE `mast` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `note` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 `geolocation` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 `location` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 `zip` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 `state` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 `app` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 PRIMARY KEY (`id`),
 UNIQUE KEY `UQ_84a93b55f688c94f73092dba1b9590c41a92cbf5` ('app')
) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

我想将记录插入到“mast”表中,前提是它们对于上面列出的两个字段都是唯一的。换句话说,如果 'geolocation' 或 'app' 是重复的,我不想插入关联的记录。

我正在使用以下 php 代码来创建 2 个唯一字段:

       $mast= R::dispense('mast');
       $mast->setMeta("buildcommand.unique" , array(array('geolocation')));

            $mast ->import($resultsarray);
            $mast->setMeta("buildcommand.unique" , array(array('app')));


            $id = R::store($mast); // DUMMY BEAN

仅为“应用”字段创建唯一索引。有没有办法在redbean中将它们都设置为唯一的?

【问题讨论】:

    标签: php mysql redbean


    【解决方案1】:

    documentation 开始,它应该像下面这样工作:

    $mast = R::dispense('mast');
    $mast->setMeta("buildcommand.unique.0", array('geolocation', 'app'));
    $mast->import($resultsarray);
    $id = R::store($mast);
    

    在您的代码中,您只是覆盖了 build command.unique 的值。

    【讨论】:

      猜你喜欢
      • 2012-05-28
      • 2013-07-29
      • 2021-05-03
      • 1970-01-01
      • 2016-03-09
      • 2012-02-06
      • 2015-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多