小编Sae*_*ven的帖子

未实施Amazon Redshift密钥 - 如何防止重复数据?

刚刚测试了AWS Redshift,并且在插件上发现了一些我希望在关键列中重复失败的重复数据,阅读文档显示主键约束没有"强制执行".

任何人都想出如何防止主键上的重复(按照"传统"期望).

感谢任何Redshift先驱!

sql amazon-web-services amazon-redshift

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

自定义Zend Framework 2电子邮件字段验证器错误消息

我有一个输入过滤器,其电子邮件字段的验证器配置如下;

'validators' => array(
    array (
        'name' => 'EmailAddress',
        'options' => array(
            'messages' => array(
                'emailAddressInvalidFormat' => "Email address doesn't appear to be valid.",
            )
        ),
    ),
    array (
        'name' => 'NotEmpty',
            'options' => array(
                'messages' => array(
                    'isEmpty' => 'Email address is required',
                )
            ),
        ),
    ),
),
Run Code Online (Sandbox Code Playgroud)

它的工作原理,那部分很好,但我会在这里得到业务部门的嘲笑,如果我推出一个应用程序向用户吐出此错误消息:

输入与模式不匹配

'/^[a-zA-Z0-9.!#$%&'+ / =?^ _` {|}〜 - ] + @ [a-zA-Z0-9 - ] +(?:.[a -zA-Z0-9 - ] +) $ /'

有一个奇怪的书呆子喜剧埋在那里(是的,我知道它是准确的,但是,rofl).

对于善良的灵魂,我有两个问题:

如何自定义该错误消息? 我似乎无法找到正确的钥匙,因为我很容易'emailAddressInvalidFormat'.

此外,是否可以将所有错误卷入一个? 我的意思是.而不是张贴:

"您的电子邮件模式刚刚离开大楼,您的电子邮件不能为空,您的电子邮件似乎无效" …

php zend-framework2

6
推荐指数
1
解决办法
5102
查看次数

使用 addSelect 从 Doctrine 2 queryBuilder 中获取“平面”数组

我想知道是否有一种干净的方法可以解决这个小难题......一直在解决它,但终于有时间研究“正确的方法”!

Doctrine 查询生成器片段

public function getSprockets(array $id_list, $include_stats = false )
{
    $qb = $this->getEntityManager()->createQueryBuilder()
        ->select('p')
        ->from( 'Entity\Foo', 'p' )
        ->where('p.id IN ( :pids )')
        ->setParameter('pids', $id_list);

    if( $include_stats )
        $qb->addSelect( '(SELECT SUM( a.value ) FROM Entity\Stats a WHERE a.foo_id = p.id AND a.type="bar" ) AS bar_count' );

    $res = $qb->getQuery()->getArrayResult();
    return $res;
}   
Run Code Online (Sandbox Code Playgroud)

照原样,无论是否调用addSelect,此代码段的行为都非常不同。如果它不存在,我会按预期得到一个不错的平面阵列。但是,如果使用 addSelect($include_stats为 true),则 $res 中的一行完全不同,包含:

  • 实体的部分 $row[0]
  • 以及 $row 底部的 addSelect 结果,例如 $row['bar_count']

我意识到在 ->select('p.id, p.that, p.this') 中列出列......解决了这个问题,但我不想每次模式都必须维护这么多查询被改变。

是否有一种方便或内置的方法可以从 getArrayResult 中获取平面数组? …

php doctrine-orm

6
推荐指数
0
解决办法
519
查看次数

如何使用 Guzzle 6 配置默认查询参数?

从 5 迁移到 6,我遇到了一个障碍,找不到相关的文档。

Guzzle 文档在这里,http: //guzzle.readthedocs.io/en/latest/quickstart.html#creating-a-client ,我们可以添加“任意数量的默认请求选项”的站点。

我想在每个请求中发送“foo=bar”。例如:

$client = new Client([
    'base_uri' => 'http://google.com',
]);

$client->get('this/that.json', [
    'query' => [ 'a' => 'b' ],
]);
Run Code Online (Sandbox Code Playgroud)

这将在http://google.com/this/that.json?a=b上生成 GET

如何修改客户端构造以使其产生:

http://google.com/this/that.json?foo=bar&a=b

谢谢你的帮助!

php guzzle guzzle6

5
推荐指数
2
解决办法
2133
查看次数

是否有内置方法可以从数组中删除第一项?

学习Go,多么伟大的语言啊。

是否有内置方法可以删除数组中的第一项?有点像 PHP 的 array_shift

我有一根绳子,“棕色狐狸跳”

我发现strings.Fields()它将它变成一个数组。我想将该字符串变成两个字符串:

“那个”、“棕色狐狸跳跃”

words := strings.Fields(theFoxString)
firstWord := // unshift first word from words
otherWords := // join what's left of words with ' '
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

go

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

ZF2 + Doctrine2:服务器已经消失 - 如何慢跑旧连接?

在此先感谢您的帮助.

我想知道是否有人很快就知道要在Entity Repository上调用什么函数来重新启动其重新连接(如果它已经死了).我正在通过ZF2 CLI路由运行一些可能花费一段时间超过wait_timeout的作业,不幸的是,ER的连接在需要使用时(作业完成时)就会消失.

需要:

// do the long job

$sl = $this->getServiceLocator();
$mapper = $sl->get( 'doctrine_object_mapper' );
if( !$mapper->getRepository()->isAlive() ) // something like so
    $mapper->getRepository()->wakeTheHellUp();
Run Code Online (Sandbox Code Playgroud)

不是那些正确的方法名称!;)

再次感谢.

doctrine-orm zend-framework2

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

将HeadScript javascript与widmogrod/zf2-assetic-module和js组合在多个模块中

碰到一点障碍,我找不到任何支持文档.我的用例相当简单.该Application模块有javascript应该进入头部,我的其他模块之一,Foo也有脚本应该进入头部.我假设这个Assetic模块可以解决这个问题.这是我推断的:

应用程序配置

/**
 * Assetic
 */
'assetic_configuration' => array(

    'buildOnRequest'    => true,
    'cacheEnabled'      => false,
    'webPath'           => realpath('public/assets'),
    'basePath'          => 'assets',


     'default' => array(

        'assets' => array(
            '@base_css',
            '@head_js',
        ),

        'options' => array(
            'mixin' => true,
        ),
    ),

     'modules' => array(

        'application' => array(

            # module root path for yout css and js files
            'root_path' => __DIR__ . '/../assets',

            # collection of assets
            'collections' => array(

                'base_css' => array(
                    'assets' => array(
                        'css/*.css',
                    ),
                    'filters' => …
Run Code Online (Sandbox Code Playgroud)

php zend-framework2 assetic

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

带有连接列的Doctrine 2实体插入空值

我最有可能做错了,但我有一个这样的实体,插入时,为其user_id列插入NULL(尽管我设置了它).

/**
 * @ORM\Entity
 * @ORM\Table(name="sales_contacts_tags")
 */
class SalesContactTag
{

    /**
     * @ORM\Id
     * @ORM\Column(type="integer");
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;


    /**
     * @ORM\Column(type="integer");
     */
    protected $user_id;

    /**
     * @ORM\Column(type="integer");
     */
    protected $sales_contact_id;


    /**
     * @ORM\Column(type="datetime");
     */
    protected $time_recorded;


    /**
     * @ORM\Column(type="string");
     */
    protected $type;


    /**
     * @var \Foo\Entity\User $user
     * @ORM\OneToOne(targetEntity="Foo\Entity\User", fetch="EAGER")
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
     */
    protected $user;

    /**
     * @param mixed $id
     */
    public function setId($id)
    {
        $this->id = $id;
    }

    /**
     * @return mixed
     */
    public function …
Run Code Online (Sandbox Code Playgroud)

php doctrine-orm zend-framework2

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

使用TailwindCSS时,如何避免模板在渲染列表时向divide-y添加分隔线?

Divide-y 用于在堆叠元素之间添加分隔线。然而,当使用 AlpineJS (x-for) 和 TailwindCSS 渲染列表时,我们发现模板标签导致 CSS 也在此处添加分隔线,这是不希望有的效果。

有没有一种顺风方式可以防止这种情况发生?

例如

<ul role="list" class="divide-y divide-gray-200" x-data="taskModel()">
    <template x-for="task in taskList">
        <li class="py-4 flex">
            <img class="h-10 w-10 rounded-full" src="https://images.unsplash.com/photo-1491528323818-fdd1faba62cc?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80" alt="">
            <div class="ml-3">
                <p class="text-sm font-medium text-gray-900" x-text="task.name"></p>
                <p class="text-sm text-gray-500" x-text="task.email"></p>
                <p class="text-sm text-gray-500" x-text="task.due"></p>
            </div>
        </li>
    </template>
</ul>

<script>
    function taskModel() {
        return {
            taskList: [
                {
                    name: 'Calvin Hawkins',
                    email: 'calvin.hawkins@example.com',
                    due: '2021-08-28'
                }
            ]
        };
    }
</script>
Run Code Online (Sandbox Code Playgroud)

谢谢你!

tailwind-css alpine.js

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