小编mik*_*ike的帖子

我如何使用Symfony doctrine:fixtures:加载多个实体管理器?

我已经设置了一个包含多个实体管理器的新项目,当我尝试加载数据夹具时,我得到一个MappingException,因为控制台试图为所有内容加载Fixtures,而不是我指定的实体管理器.

这是我的config.yml中的学说部分

doctrine:
    dbal:
        connections:
            default:
                driver:   %database_driver%
                host:     %database_host%
                port:     %database_port%
                dbname:   %database_name%
                user:     %database_user%
                password: %database_password%
                charset:  %database_charset%
            symblog:
                driver:   %database_driver_blog%
                host:     %database_host_blog%
                port:     %database_port_blog%
                dbname:   %database_name_blog%
                user:     %database_user_blog%
                password: %database_password_blog%
                charset:  %database_charset_blog%

    orm:
        auto_generate_proxy_classes: %kernel.debug%
        entity_managers:
            default:
                connection: default
                mappings:
                    IncompassAuthBundle: ~
                    IncompassUserBundle: ~
                    IncompassApiBundle: ~
                    IncompassSurgeryBundle:  ~
                    IncompassVendorBundle:  ~
                    IncompassHospitalBundle:  ~
                dql:
                    datetime_functions:
                        date: Mapado\MysqlDoctrineFunctions\DQL\MysqlDate
            symblog:
                connection: symblog
                mappings:
                    IncompassBlogBundle: ~
                dql:
                    datetime_functions:
                        date: Mapado\MysqlDoctrineFunctions\DQL\MysqlDate
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我为symblog教程设置了一个单独的连接和实体管理器.

当我尝试

php app/console doctrine:fixtures:load --em=default
Run Code Online (Sandbox Code Playgroud)

我明白了

Careful, database will be …
Run Code Online (Sandbox Code Playgroud)

php doctrine fixtures entitymanager symfony

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

在 VB.net 中,如何保存对 app.config 的更改

我的 app.config 文件中有几个 appSettings,具有默认值:

<appSettings>
  <add key="Foo" value="one"/>
  <add key="Bar" value="two"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)

我可以读取并将值放入文本框和组合框

我有这段代码来保存对这两个文件所做的更改,但我所做的更改不会保存到 app.config 文件本身,因此当我关闭程序并再次打开它时,这些值会恢复为默认值。

Private Sub ButtonSaveSettings_Click(sender As Object, e As EventArgs) Handles ButtonSaveSettings.Click
    Dim settings = System.Configuration.ConfigurationManager.AppSettings

    settings.Set("Foo", TextBoxFoo.Text)
    settings.Set("Bar", ComboBoxBar.SelectedItem.ToString)
End Sub
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能将更新的值保留到 app.config 文件中?

(编辑:副本上的答案不适用于 VB,并且没有解决此问题。)

vb.net app-config appsettings

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

Symfony 2和Swiftmailer不使用文件假脱机

我无法让文件假脱机与Symfony 2和Swiftmailer一起正常工作.

这是我的配置

# Swiftmailer Configuration
swiftmailer:
    transport:      %mailer_transport%
    host:           %mailer_host%
    username:       %mailer_user%
    password:       %mailer_password%
    spool:
        type: file
        path: '%kernel.root_dir%/spool'
    port:           %mailer_port%
    encryption:     %mailer_encryption%
    sender_address: %mailer_sender_address%
Run Code Online (Sandbox Code Playgroud)

当我发送电子邮件时,会在app/spool/default /中创建一个文件

然后我跑了

php app/console swiftmailer:spool:send
Run Code Online (Sandbox Code Playgroud)

得到这个回应

[2015-12-29 18:54:40] Processing default mailer... 1 emails sent
Run Code Online (Sandbox Code Playgroud)

所以它看起来有效,但没有发送任何内容,并且/var/log/mail.log没有显示任何新的电子邮件.

当我将配置设置为内存假脱机时,电子邮件工作没有任何问题,我更改的是config.yml

swiftmailer:
    spool: { type: memory }
Run Code Online (Sandbox Code Playgroud)

变成

swiftmailer:
    spool:
        type: file
        path: '%kernel.root_dir%/spool'
Run Code Online (Sandbox Code Playgroud)

我正在使用sendgrid和postfix实际发送电子邮件,但我不确定电子邮件是否甚至到了postfix,所以这可能没有任何区别.

swiftmailer symfony symfony-2.7

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

在 AWS S3 上,我可以从生命周期规则中排除文件吗

我有一个具有短生命周期规则的存储桶,所有超过 7 天的内容都会被删除。添加的文件具有动态生成的名称。

我想从这个规则中排除存储桶中有一个文件,有没有办法从规则中排除这个文件,这样它就不会被删除?

amazon-s3 amazon-web-services

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

当提供令牌时,Symfony2 OAuth会不断给我一个登录页面

我已经设置了一个应用程序:

  • FriendsOfSymfony/FOSUserBundle
  • FriendsOfSymfony/FOSOAuthServerBundle
  • FriendsOfSymfony/FOSRestBundle

我已经成功创建了一个客户端,并且可以使用这样的URL获取访问令牌

http://api.mydomain.com/oauth/v2/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=password&username=mikebates&password=secret

但是,当我尝试访问这样的网址时,请访问 http://api.mydomain.com/api/surgeries/45/details?access_token=ACCESS_TOKEN

我被重定向到symfony登录页面,但我不能拥有它,或者我构建的移动应用程序使用此REST API将无法访问.

我使用本教程进行设置(删除那里的User/UserRepository类并将其改为与FOSUserBundle一起使用)http://blog.tankist.de/blog/2013/07/16/oauth2-explained-part-1原理-和-术语/

我不确定我告诉symfony重定向到登录页面的位置,我想将该逻辑更改为仅从令牌进行身份验证.

这是我的设置概述

security.yml

security:
    encoders:
        FOS\UserBundle\Model\UserInterface: sha512

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username  

    firewalls:
        ...

        login:
            pattern:  ^/secured/login$
            security: false

        oauth_token:
            pattern:    ^/oauth/v2/token
            security:   false

        oauth_authorize:
            pattern:    ^/oauth/v2/auth
            form_login:
                provider: fos_userbundle
                check_path: _security_check
                login_path: _demo_login
            anonymous: true

        api:
            pattern:    ^/api
            fos_oauth:  true
            stateless:  true
            anonymous:  false # can be omitted as its default value

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: …
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle fosrestbundle fosoauthserverbundle

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

在Symfony2中,如何在资产文件名中附加日期

我在symfony中使用资产,我想在它创建的文件名末尾附加一个时间戳或日期字符串.

这样做的目的是更多地控制浏览器缓存,所以每次运行assetic:dump时,我所有编译的资产都将有一个新的文件名,用户浏览器将下载新文件.

这是阻止浏览器使用旧(缓存)资产文件的最佳方法吗?

如果是,我如何将时间戳附加到文件名?

symfony assetic

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

哪些 ZPL 代码可能影响 QRCode 的起始位置

我有一个应用程序可以将标签打印到 Zebra GK420t 标签打印机。ZPL 发送一些文本和 QRCode。当打印机第一次打开时,这工作正常,但有另一个应用程序打印到它,并且在另一个应用程序打印后,QRCode 在我们的标签上的位置发生变化。

我无权访问其他程序的源代码,因此我看不到它正在发送什么 ZPL。我知道它正在向打印机发送一些配置(例如打印宽度),但我无法弄清楚它可以发送什么来更改 QRCode 的位置。

这是标签打印机首次打开时我们应用程序中的标签 默认打印机设置

这是我们应用程序的标签,在其他应用程序打印标签并更改一些设置后。

在此输入图像描述

二维码向上移动到右侧,但其他所有内容都保持在同一位置。

这是我们的一个标签的 ZPL 示例

^XA
^PW420
^LS0
^LH0,0
^CF0,40^FO20,25^FDUnknown Vendor^FS
^FO15,0^BQN,2,6^FD##hCsck00000000000779/221a1^FS
^CFR,15^FO55,220^FD3877^FS
^CFR,15^FO180,70^FDTue 07:30 Nov 10^FS
^FO180,100^FDU. Surgeon^FS
^FO180,130^FDTotal hip^FS
^FO180,160^FDsigma^FS
^FO180,190^FDHip tool^FS
^FO180,220^FD1 of 2^FS
^XZ
Run Code Online (Sandbox Code Playgroud)

zpl

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

如何在 AWS Athena 中转换时区

在 Athena 中,我在数据库中存储了时区和日期时间,我想使用存储的时区来转换日期时间

我可以让这个查询工作

SELECT (my_date_time) AT TIME ZONE 'America/Los_Angeles' AS converted_time
FROM table_one;
Run Code Online (Sandbox Code Playgroud)

如何用表中字段的值替换硬编码时区,例如

SELECT (my_date_time) AT TIME ZONE my_timezone AS converted_time
FROM table_one;
Run Code Online (Sandbox Code Playgroud)

当我尝试第二个查询时出现此错误

第 8:41 行:输入“my_timezone”不匹配。期待:“区域”

编辑:添加到 Guru Strons 的答案中,这就是我使用 at_timezone 的方式

WITH dataset (t, tz) AS (
   SELECT
     table_one.my_date_time,
     table_two.timezone
   FROM table_one
   LEFT JOIN table_two ON table_one.id = table_two.table_one_id
 )
SELECT t, tz, at_timezone(t, tz) FROM dataset
Run Code Online (Sandbox Code Playgroud)

sql amazon-web-services presto amazon-athena trino

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