小编Ben*_*ndy的帖子

Doctrine 可以定义 MySQL 的 Generated 列吗?

在 Symfony 实体中使用mySQL 生成的列是否正确(如果正确的话)?

例如,GENERATED ALWAYS在下面的例子中:

CREATE TABLE contacts (
    id INT AUTO_INCREMENT PRIMARY KEY,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    fullname varchar(101) GENERATED ALWAYS AS (concat(first_name,' ',last_name)),
    email VARCHAR(100) NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

我知道这可以在实体中完成,__construct()但由 Doctrine/mySQL 处理是否更正确?就像是:

/**
 * @ORM\Column(type="text")
 * @ORM\Generated(concat(first_name,' ',last_name))
 */
private $fullname;
Run Code Online (Sandbox Code Playgroud)

php mysql symfony doctrine-orm

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

FOSUserBundle:自定义密码/从旧DB结构迁移

我想转移到Symfony2,因为它的现代性和良好的编程给我留下了深刻的印象.

现在我从我的旧系统中获取一个用户表,有10,000个用户,我不想通过让他们设置一个新密码来激怒他们....所以我希望他们能够使用他们的旧密码登录

下面是我的用户表如何看起来像有关登录/注册的3个主要字段的伪代码:

id, int(10) unsigned NOT NULL
username varchar(40) NOT NULL
passhash varchar(32) NOT NULL
secret varchar(20) NOT NULL
Run Code Online (Sandbox Code Playgroud)

注册时,数据以这种方式生成:

$secret = mksecret ();
$passhash = md5 ($secret . $password_formfield . $secret);
Run Code Online (Sandbox Code Playgroud)

登录时,以下列方式检查数据:

if ($row['passhash'] != md5 ($row['secret'] . $password_formfield . $row['secret']))
{
//show login error
}
Run Code Online (Sandbox Code Playgroud)

那么如何在FOSUserBundle中最好地处理它,而不必编辑太多文件?

passwords md5 database-migration symfony fosuserbundle

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

创建新的symfony项目时出错

在全新安装的Ubuntu(14.04 LTS)上,我准备了以下命令:

更新应用中心:sudo apt-get update && sudo apt-get upgrade

安装灯泡服务器:sudo apt-get install lamp-server^

安装curl:sudo apt-get install curl

安装php5-curl:sudo apt-get install php5-curl

从这一点上,我遵循从最初到现在的Symfony的安装说明,说明在这里:

sudo curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony
sudo chmod a+x /usr/local/bin/symfony
Run Code Online (Sandbox Code Playgroud)

当我尝试创建我的新项目'projectX'时,symfony new projectX我得到以下错误:

/usr/local/bin/symfony: line 1: syntax error near unexpected token `newline'
/usr/local/bin/symfony: line 1: `<!DOCTYPE html>'
Run Code Online (Sandbox Code Playgroud)

出于绝望,我试过运行它sudo,但后来得到:

/usr/local/bin/symfony: 2: /usr/local/bin/symfony: Syntax error: newline unexpected
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?在此先感谢您的帮助!

php linux ubuntu curl symfony

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

如何扩展FOSUserBundle的用户实体?

我有我的UserBundle扩展了FOSUserBundle并且工作正常.但现在,我想创建具有différents属性的多个用户实体.但问题是当我创建我的用户实体时,他扩展了我的主要用户实体,如下所示:

class User extends BaseUser
{
    protected $id;
    // The main user class who extends FOSUser entity
}

class UserB extends User
{
    //
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我有一个错误:`

必须保护MyApp\UserBundle\Entity\UserB :: $ id的访问级别(如MyApp\UserBundle\Entity\User类).

当我在UserB实体中创建受保护的ID时,我有:

PHP致命错误:无法重新声明MyApp\UserBundle\Entity\UserB :: $ id.

并且,为了完成,我无法删除我的用户实体中的id少返回一个Doctrine错误:

[Doctrine\ORM\Mapping\MappingException]
没有为实体'MTS\UserBundle\Entity\User'指定标识符/主键.每个实体必须具有标识符/主键.

有人可以帮帮我吗?

编辑:问题解决了.我的代码:

/**
 * MTS\UserBundle\Entity\User
 *
 * @ORM\Entity
 * @ORM\InheritanceType("SINGLE_TABLE")
 * @ORM\DiscriminatorColumn(name="type", type="string")
 * @ORM\DiscriminatorMap({"userfb" = "UserFB"})
 */
abstract class User extends BaseUser
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * …
Run Code Online (Sandbox Code Playgroud)

php symfony doctrine-orm fosuserbundle

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

有没有办法使用Proc数据集更改变量的长度?

我有很多数据集和变量,我需要修改其属性.除了需要更改变量长度的以下实例外,一切都工作正常:

data inputdset ;
  format inputvar $20. ;
  inputvar='ABCDEFGHIJKLMNOPQRST' ;
run ;

proc datasets lib=work nolist memtype=data ;
  modify inputdset ;
    attrib inputvar format=$50. length=50 ;
  run ;
quit ;
Run Code Online (Sandbox Code Playgroud)

运行此命令会在日志中显示以下注释:

注意:LENGTH属性无法更改,因此被忽略.Blockquote注意:WORK.INPUTDSET.DATA的MODIFY成功.

...决赛inputvar的格式为50美元.正如预期的那样但仍然有20的长度.有没有办法让这些案件的长度增加proc datasets(或者甚至更好,如果长度可以增加以匹配format)?

sas

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

如何从字典键/值创建对象属性?

我有一个excel文件,其中包含一些必需的参数及其值,我试图将它们提供给__init__我的类实体的函数.我知道下面必须设置self.key在每个值依次,但我应该"屏蔽"了(?) .key

class Customer:
    def __init__(self):
        for key, value in zip(excelDF.attribs, excelDF.values):
            if key!=None and value !=None:
                self.key= value
Run Code Online (Sandbox Code Playgroud)

举一个我正在尝试的例子:

excelDF.attribs=['name','telephone']
excelDF.values=['Tom','01234-567890']
customer1=Customer()
print(customer1.name)
print(customer1.telephone)
Run Code Online (Sandbox Code Playgroud)

给...

Tom
01234-567890
Run Code Online (Sandbox Code Playgroud)

python dictionary python-3.x

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

什么是“MNaN”?

我正在尝试调试一些 d3 代码,并且在控制台调试器中返回以下错误:

\n\n
Error: <path> attribute d: Expected number, "MNaN,-232.4826144\xe2\x80\xa6".\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,我不知道MNaN是什么(我只知道NaN并且令人惊讶是 SO/google 没有提出任何特别有用的东西)。另外,由于错误是从 d3 本身内部触发的,我不确定在哪里/如何解决问题。

\n

javascript nan d3.js

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

暂时禁用 VBA 的 worksheet_change()

我有一个 VBA 宏,需要运行它来初始化原始数据的每月数据转储。这很好用。

此外,我还有一个Private Sub Worksheet_Change()在每次单元格值更改时运行的步骤。这很好用。

我的问题是,当我的初始化宏进行许多更改时,它会不断触发Private Sub Worksheet_Change(). 有没有办法可以在初始化完成运行之前将其禁用?

excel vba

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

Django对象在模板中查找

我正在浏览Django项目教程,在节中它说:

模板系统使用点查找语法来访问变量属性.在{{question.question_text}}的示例中,首先Django对对象问题进行字典查找.如果失败了,它会尝试进行属性查找 - 在这种情况下可以正常工作.如果属性查找失败,它将尝试列表索引查找.

这是否意味着Django question是一个字典对象,并且在第一个实例中,查找为question_text键,如果找到,则返回值?除此之外,我无法想象两个后备选项正在做什么.

python django django-templates django-models

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