小编kon*_*irm的帖子

属性(...)不存在(Symfony 3)

在我的Symfony 3项目中,我在"用户"和"角色"之间存在ManyToMany关系.

它曾经工作,但现在我有一个错误:

Property AppBundle\Entity\Role::$user does not exist
Run Code Online (Sandbox Code Playgroud)

我不知道我做了什么,可能是因为运行了"php bin/console doctrine:mapping:import --force AppBundle xml"命令.

这是User实体类的一个片段:

/**
 * @ORM\Table(name="user")
 * @ORM\Entity(repositoryClass="AppBundle\Repository\UserRepository")
 */
class User implements AdvancedUserInterface, \Serializable {

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

    /**
     *
     * @ORM\ManyToMany(targetEntity="AppBundle\Entity\Role", cascade = {"persist"})
     * @ORM\JoinTable(name="user_role")
     */
    private $roles;
Run Code Online (Sandbox Code Playgroud)

如您所见,与Role实体有关系.

另一方面,角色实体不包含任何关系信息,它应该按照本文的规定工作:

https://knpuniversity.com/screencast/symfony2-ep3/many-to-many-relationship

它曾经工作过,现在却不知道为什么.

据我所知,根据Symfony文档,这被称为"单向ManyToMany"关系.对我来说一切都很好.

symfony symfony-2.3

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

echo(float)12,3; 与echo(浮动)"12,3"; - 为什么差异?

当我看到这个投射结果时,我最近有点惊讶.

echo (float)12,3; 
echo "\n"; 
echo (float)"12,3";
Run Code Online (Sandbox Code Playgroud)

第一个将给我们123和第二个12.

有什么不同?

php

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

HTML标签属性和jquery中的驼峰式案例-不起作用,为什么?

是的,也有类似的问题,但是它们与jquery一样添加小写字母属性,如下所示:jQuery中的attr()是否强制小写字母?

但是我有不同的情况。这是我的HTML5代码段:

<tr class='projectRow' data-projectId='34'>
Run Code Online (Sandbox Code Playgroud)

请注意,这是camelCase。现在,此代码不起作用:

//"this" points to a child element
$id = $(this).closest('.projectRow').data('projectId');//undefined
Run Code Online (Sandbox Code Playgroud)

但是,如果我将其小写:

$(this).closest('.projectRow').data('projectid');
Run Code Online (Sandbox Code Playgroud)

有用。

当我查看源代码时,它显然是“ projectId”(camelCase),但是在chrome->开发工具->元素中时,则是“ projectid”(小写)o_O

难怪jQuery无法获得此值,但是Chrome为什么要这样做呢?我之前做过数百次类似的事情,虽然在“ project-id”中使用了-,但是经过了多年的Web应用程序开发,我发现了类似o_O的东西。

html javascript jquery

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

如何更改SVG的路径颜色?

更新: 是的,我知道在SO上有类似的问题,但解决方案也不起作用.

我想改变SVG的颜色,我的意思是路径的颜色,而不是"内部"的颜色,而是路径本身.

我第一次尝试使用css,它根本不起作用.然后用js,它几乎工作:

这有效,即加载图像.它默认为黑色.

<object id = 'test' data="images/icons/040__file_delete.svg" type="image/svg+xml"></object>
Run Code Online (Sandbox Code Playgroud)

我想把它变成绿色.

    <script>
        $(function(){
            document.getElementById("test").addEventListener("load", function() {
                var doc = this.getSVGDocument();
                console.log(doc);//works fine
                var p = doc.querySelector("path"); //works
                p.setAttribute("stroke", "green");
            });    
        })
    </script>
Run Code Online (Sandbox Code Playgroud)

上面的"工作"但是在路径上添加了"边框".我也试过"颜色","填充颜色","填充" - 没有任何作用.

更新II: SVG的来源:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" id="??_1" x="0px" y="0px" viewBox="0 0 18 18" style="enable-background:new 0 0 18 18;" xml:space="preserve">
<style type="text/css">
    .st0{fill:#231815;}
</style>
<g>
    <g>
        <g>
            <g>
                <g>
                    <path class="st0" d="M13,17.5H5c-1.4,0-2.5-1.1-2.5-2.5V3c0-1.4,1.1-2.5,2.5-2.5h3.6c0.4,0,0.8,0.2,1.1,0.4l5.4,5.4       c0.3,0.3,0.4,0.7,0.4,1.1V15C15.5,16.4,14.4,17.5,13,17.5z M5,1.5C4.2,1.5,3.5,2.2,3.5,3v12c0,0.8,0.7,1.5,1.5,1.5h8       c0.8,0,1.5-0.7,1.5-1.5V7.4c0-0.1-0.1-0.3-0.1-0.4L8.9,1.6C8.8,1.6,8.7,1.5,8.6,1.5H5z" fill="green"/>
                </g>
                <g>
                    <path class="st0" d="M15,7.5h-4C9.6,7.5,8.5,6.4,8.5,5V1c0-0.3,0.2-0.5,0.5-0.5S9.5,0.7,9.5,1v4c0,0.8,0.7,1.5,1.5,1.5h4       c0.3,0,0.5,0.2,0.5,0.5S15.3,7.5,15,7.5z"/>
                </g>
            </g>
            <g> …
Run Code Online (Sandbox Code Playgroud)

javascript svg

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

在Symfony中重定向之前访问调试(探查器)信息

提交表单后,我通常会将用户重定向到另一个页面(表单本身除外).

因此我丢失了配置文件(调试信息,如日志).我的意思是在单击调试工具栏后,我在重定向后获得有关请求的信息.但我知道Symfony会保留有关上一页的信息.我的意思是它不会忘记它.有没有办法访问这些信息?重定向前请求的调试信息在哪里?

php symfony symfony-2.3

3
推荐指数
2
解决办法
792
查看次数

在Symfony中只读整个表单

是否可以只使用一行(或两行)代码来创建整个表单,就像在PEAR/QuickForm中一样?

我有以下代码:

$form = $this->createFormBuilder($user) 
                ->add('username', \Symfony\Component\Form\Extension\Core\Type\TextType::class, array('label' => 'Login: '))
                ->add('personal_name', \Symfony\Component\Form\Extension\Core\Type\TextType::class, array('label' => 'Imi? i nazwisko: '))
(...)
Run Code Online (Sandbox Code Playgroud)

我知道我可以添加"read_only" => true到每个"添加"函数调用,但是有一个单行程吗?

我也尝试使用这样的AbstractType:

class Register extends AbstractType
{
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'validation_groups' => array('registration'),
            'readonly' => true //I also tried read_only, read-only, read only but to no avail  
        ));
    }   
Run Code Online (Sandbox Code Playgroud)

上面的代码不工作,尽管当我换成'readonly' => true'disabled' => true它...工作.但是,我希望它是readonly.

我想在这里完成的是我希望有一个视图(twig模板,一个表单)来添加新实体,编辑现有实体和显示实体的详细信息(这是readonly有用的地方).也许你有更好的主意?

我知道我可以用Javascript做到这一点,但也许有一个Symfony - 这样做的方法?

symfony symfony-2.3

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

覆盖css规则不起作用

所以我在Pure css Framework中设置了一个标签,如下所示:

.pure-form-aligned .pure-control-group label {
  text-align: right;
  display: inline-block;
  vertical-align: middle;
  width: 10em;
  margin: 0 1em 0 0; }
Run Code Online (Sandbox Code Playgroud)

我想"覆盖"宽度,所以下面我这样做:

.form label {//note the dot, this is a class
  width: auto; }
Run Code Online (Sandbox Code Playgroud)

在html我有:

<form name="form" method="post" class="pure-form pure-form-aligned form">
 <div class="pure-control-group">
              <input type="checkbox" id="form_permissions_1" name="form[permissions][]" value="1" checked="checked" />
              <label for="form_permissions_1">Tworzenie nowego u?ytkownika</label>
 <div>
Run Code Online (Sandbox Code Playgroud)

请注意,我在声明中添加了"form"类.

为什么它不起作用?我过去常常这样做.

更新:我添加了更多的HTML代码.

html css

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

Symfony 中实体中的多个验证组 - 如何?

我们如何将规则分配给多个验证组,这是正确的:

/**
 * @ORM\Column(type="string", length=128)
 * @Assert\NotBlank (groups={"registration, employee"})
 */
private $password;
Run Code Online (Sandbox Code Playgroud)

?我们应该使用逗号还是什么?

symfony symfony-2.3

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

标签 统计

symfony ×4

symfony-2.3 ×4

html ×2

javascript ×2

php ×2

css ×1

jquery ×1

svg ×1