小编Woj*_*ski的帖子

Symfony2 - 如何根据db的动态参数创建表单?(EAV)

我想基于存储在DB中的动态参数创建表单.所以我创建了一个名为Parameter的实体来定义参数名称,该实体应该显示为表单字段标签.

/**
 * @ORM\Entity
 */
class Parameter
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
    /**
     * @ORM\Column(type="string", length="255")
     * @Assert\NotBlank()
     */
    protected $name; 
    /**
     * @ORM\OneToMany(targetEntity="ParameterValue", mappedBy="parameter")
     */
    protected $values;
Run Code Online (Sandbox Code Playgroud)

特定对象(公司对象)的参数值即将存储在ParameterValue表格中.

/**
 * @ORM\Entity
 */
class ParameterValue
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
    /**
     * @ORM\ManyToOne(targetEntity="Parameter", inversedBy="values")
     * @ORM\JoinColumn(name="parameter_id", referencedColumnName="id", nullable=false)
     */
    protected $parameter;
    /**
     * @ORM\ManyToOne(targetEntity="Company", inversedBy="parameters")
     * @ORM\JoinColumn(name="company_id", referencedColumnName="id", nullable=false)
     */
    protected $company;
Run Code Online (Sandbox Code Playgroud)

当然,公司实体包含参数属性,该属性仅存储已为公司指定的参数.

/**
 * @ORM\Entity
 */
class …
Run Code Online (Sandbox Code Playgroud)

forms entity-attribute-value symfony

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

无法找到Doctrine Query Builder ACOS功能

我想在自定义存储库类中计算距离.问题是Doctrine在处理ACOS函数时抛出异常:

[Syntax Error] line 0, col 70: Error: Expected known function, got 'ACOS'
Run Code Online (Sandbox Code Playgroud)

这是查询:

public function findLocation($latitude, $longitude)
{
    $em = $this->getEntityManager();
    return $em->createQueryBuilder()
                    ->select('((ACOS(SIN('.$latitude.' * PI() / 180) * SIN(p.latitude * PI() / 180) + COS('.$latitude.' * PI() / 180) * COS(p.latitude * PI() / 180) * COS(('.$longitude.' – p.longitude) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS distance')
                    ->from('StrictPlaceBundle:Poi', 'p')
                    ->add('orderBy', 's.distance ASC')
                    ->getQuery()->getResult();    
}
Run Code Online (Sandbox Code Playgroud)

有什么不对?

symfony doctrine-orm

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

编辑形式为Symfony2 + Doctrine2的圆形小数

如何在symfony2实体中设置小数精度和小数位?我在我的实体中使用十进制数据类型在经度字段中定义了纬度,如下所示:

/**
 * @ORM\Column(type="decimal", precision="10", scale="6", nullable=true)
 */
protected $latitude;
Run Code Online (Sandbox Code Playgroud)

当持久化新对象时,它正确地保存十进制(我可以在phpMyAdmin中看到52.406374).但是,当显示编辑表单时,数字将四舍五入为52,406,更新后将其存储在mysql中,如52.406000.我的Doctrine配置可能有问题,但我不知道是什么.

为什么纬度和经度会变圆?

找到了解决方案:

Symfony的Form组件将十进制表单字段呈现为type ="text".使用时:

->add('latitude', 'number', array(
    'precision' => 6,
))
Run Code Online (Sandbox Code Playgroud)

它渲染得很好.评论中的帖子没有描述我的问题.我猜他们已经修复了'转换为浮点'精度的错误.当我在树枝模板中显示纬度时,它显示正确的(非圆形)值.

decimal symfony doctrine-orm

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

如何将@session服务注入Symfony2中的自定义EntityManager

在我的配置文件中,我定义了自定义实体管理器:

parameters:
    doctrine.orm.entity_manager:
        class: Strict\UserBundle\Entity\Manager\MyEntityManager
Run Code Online (Sandbox Code Playgroud)

是一种注入/添加@session服务(我需要访问getLocale()方法)到这个实体管理器的方法吗?我试过这个:

parameters:
    doctrine.orm.entity_manager:
        class: Strict\UserBundle\Entity\Manager\MyEntityManager
        arguments: 
            session: "@session"
Run Code Online (Sandbox Code Playgroud)

但它抛出了这个异常:

InvalidArgumentException: You cannot dump a container with parameters that contain references to other services (reference to service "session" found in "/doctrine.orm.entity_manager/arguments/session").
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

symfony

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

Chrome中的Facebook登录(连接)按钮渲染失败

今天我意识到FB登录按钮不再在chrome中正确呈现(可能是因为浏览器更新 - 谁知道).在IE和Chrome中查看此http://goo.gl/mK6sf网站.每个按钮在chrome中都有一些额外的"padding-top",iframe没有正确隐藏.这是png预览http://goo.gl/sfUl5

编辑 如何让FB登录按钮像IE一样正确呈现?你在其他网站上看到类似的问题吗?Facebook改变了什么或者是Chrome的责任吗?

EDIT2 2013-01-16 看看这个帖子:https://developers.facebook.com/bugs/592452207446912这可能是Facebook API错误.我会在修复时发布回复.

html css facebook

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

googlevr/vrview读取位置格式onGetPosition并设置其下一个init的值

我想知道是否有可能(我希望是这样)设置从onGetPosition读取的初始化相机旋转?

我的onGetPosition函数如下所示:

function onGetPosition() {
    console.log({
        Yaw: worldRenderer.camera.rotation.y * 180 / Math.PI,
        Pitch: worldRenderer.camera.rotation.x * 180 / Math.PI,
        x: worldRenderer.camera.rotation.x,
        y: worldRenderer.camera.rotation.y,
        z: worldRenderer.camera.rotation.z
    });
...
}
Run Code Online (Sandbox Code Playgroud)

https://github.com/googlevr/vrview/blob/4e8e57eaddd8e69c8e032a6b5844d4e96af02156/src/embed/main.js#L357

我用这个图像作为纹理: 工匠

default_yaw设置为0度的初始视图如下所示: 在里面 在此位置onGetPosition返回: {Yaw: 0, Pitch: -0, x: -0, y: 0, z: -0}

然后我旋转场景以查看此位置(左侧约90度): XXX onGetPosition返回: {Yaw: 75.66036892219512, Pitch: -42.97581864568984, x: -0.7500695341072581, y: 1.3205225509658982, z: 0.7343037709331535}

我想如果我在setDefaultYaw_函数中设置相机旋转,我会看到最后一个视图,所以我这样做:

WorldRenderer.prototype.setDefaultYaw_ = function(angleRad) {
    ...
    this.camera.setRotationFromEuler(new THREE.Euler(-0.7500695341072581, 1.3205225509658982, 0.7343037709331535, 'XYZ'));
};
Run Code Online (Sandbox Code Playgroud)

https://github.com/googlevr/vrview/blob/2dd890d147f702b9c561694bda5c86575c2a3d44/src/embed/world-renderer.js#L235

不幸的是没有发生任何事情我仍然在init上看到第二张图片的视图 我该如何解决?

three.js google-vr

5
推荐指数
0
解决办法
137
查看次数

Doctrine2获取QueryBuilder具有manyToMany关联的行

大家.我有2个实体City和POI.映射看起来像这样:

class City {
/**
 * @ORM\ManyToMany(targetEntity="POI", mappedBy="cities")
 * @ORM\OrderBy({"position" = "ASC"})
 */
protected $pois;
Run Code Online (Sandbox Code Playgroud)

class POI {
/**
 * @ORM\ManyToMany(targetEntity="City", inversedBy="pois")
 * @ORM\JoinTable(name="poi_cities")
 */
protected $cities;
Run Code Online (Sandbox Code Playgroud)

我想使用QueryBuilder获取与某个城市至少有1个关联的所有POI.我应该使用exists()函数,但我不知道如何安静.

php doctrine query-builder symfony

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