小编Der*_*ins的帖子

CakePHP saveAssociated未通过模型数据保存HasMany

我正在尝试在CakePHP 2.3中获取相关模型以便正确保存,但我遇到了问题.我正在存储帖子,我想知道这些帖子中有哪些链接.对于每个链接,我想存储锚文本(如果可用).我的数据库设置如下图所示.

数据库图http://derekperkins.com/wp-content/uploads/cakephp-database.png

锚模型

class Anchor extends AppModel {

        public $hasMany = array(
            'PostsUrl' => array(
                'className' => 'PostsUrl',
                'foreignKey' => 'anchor_id',
                'dependent' => false
            )
        );

        public function save($data = NULL, $validate = true, $fieldList = array()) {
            $id = Anchor::find('first', array(
                'fields' => array('id'),
                'recursive' => -1,
                'conditions' => array('anchor' => $data['anchor'])
            ));
            if( $id )
                $data['id'] = $id['Anchor']['id'];
            return parent::save($data, $validate, $fieldList);
        }
    }
Run Code Online (Sandbox Code Playgroud)

网址模型

class Url extends AppModel {

    public $hasMany = array(
        'PostsUrl' => array( …
Run Code Online (Sandbox Code Playgroud)

cakephp has-many-through cakephp-2.0

8
推荐指数
1
解决办法
3415
查看次数

如何为SaaS解决方案加白标签?

我正在构建SaaS产品,客户的最高要求之一就是允许他们使用白色标签。

  • 客户领域
  • 在用户界面中包含客户徽标
  • 更改配色方案以匹配客户品牌

在所有需要完成的工作中,我认为最容易理解的部分是设置自定义子域(我在AppEngine上运行,但是在任何服务器设置上都非常简单)。

我的主要问题围绕着前端样式的最佳实践。我的设置要求我定义颜色以覆盖CSS规则和Javascript变量。我所做的假设是,我将任何图像资产/路径和颜色信息存储在数据库中。这是我正在考虑的两条路径,但似乎都存在严重的缺陷。

  1. 部署任务-部署前,运行Grunt(或其他自动化)任务,该任务从数据库中提取客户样式信息,并根据每个任务创建自定义CSS / JS文件
  2. 运行时-在应用程序引导过程中,从数据库中获取客户信息并动态覆盖样式(内联样式,JS覆盖等)

我一直在寻找很多建议或其他经验,却空无一人。白色标签的最佳做法是什么?我应该继续沿着这两个路径之一走下去还是有更好的选择?我应该注意哪些陷阱?不同的选择对性能有影响吗?

这个问题是有目的的,与语言和框架无关,因为无论如何实现,其基本原理都应该相同。

javascript customization themes saas white-labelling

4
推荐指数
1
解决办法
1909
查看次数

MySQL主键查询扫描5000x太多行

我正在尝试使用基于PRIMARY KEY的WHERE语句运行简单的SELECT查询.我在具有32个内核和30 GB RAM的GCE实例上运行MySQL 5.7.9.500个分区中有大约300M的记录.99.9999%的查询来自过去2天,并且该数据完全适合内存,经过验证后我看到从磁盘读取了~0个字节.我的CPU始终固定为100%,同时运行10-20个类似的查询.

我正在跟踪一些谷歌搜索数据,因此,rank每个组合都有100 秒Requested,IsPriorityKeywordID.尽管我的主要索引是设计的,因此不需要扫描,但是当我查看时EXPLAIN,它显示正在扫描552k行以返回100行.

平均而言,需要20-40秒才能从RAM返回100行,这些行由主键直接指向.我该怎么做才能加快这个查询?

EXPLAIN EXTENDED SELECT * FROM data.Rankings
    -> WHERE Requested = '2016-02-26 00:00:00' AND NOT IsPriority AND KeywordID = '7387777811691965572'\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: Rankings
   partitions: p20160226
         type: ref
possible_keys: PRIMARY
          key: PRIMARY
      key_len: 4
          ref: const
         rows: 552598
     filtered: 1.00
        Extra: Using where
1 row in set, 2 warnings (0.01 sec)
Run Code Online (Sandbox Code Playgroud)

这是DB表

CREATE TABLE `Rankings` (
  `KeywordID` …
Run Code Online (Sandbox Code Playgroud)

mysql

3
推荐指数
1
解决办法
129
查看次数

BigQuery - 授予对其他Google云平台项目的访问权限

我正在尝试设置客户访问我的一些BigQuery数据.我将从我的要求开始,然后我认为解决方案需要,但我不确定如何执行.

要求

  1. 为每个客户单独计费以进行查询
  2. 我不想公开我的数据集
  3. 只读访问特定数据集
  4. 可通过Excel连接器访问
  5. 没有我的主项目的访问权限
  6. 他们管理自己的访问权限,我不希望代表所有客户端添加和删除直接数据集访问的个人用户.
  7. 很高兴 - Web UI访问

我做了什么

  • 创建了一个新的Google Developer Project
  • 在该项目上添加了一个仅查看用户
  • 添加了服务帐户
  • 授予对服务帐户的BigQuery数据集的访问权限

以下是从文档授予数据集访问权限的选项:

Google BigQuery数据集权限设置 我想我需要设置一些特殊组,但我无法弄清楚如何做到这一点.

提前致谢!

google-bigquery google-cloud-console google-cloud-platform

2
推荐指数
1
解决办法
1411
查看次数