pugxmultiuserbundle获取当前用户的类型



如何使用pugxmultuserbundle获得当前用户的类型?此代码返回此错误

{% if app.user.type == 'user_one' %}
//...
{% endif %}

这是错误

Method "type" for object "AppBundleEntityUserOne" does not exist

这是实体用户

namespace AppBundleEntity;
use FOSUserBundleModelUser as BaseUser;
use DoctrineORMMapping as ORM;
/**
 * @ORMEntity
 * @ORMTable(name="user")
 * @ORMInheritanceType("JOINED")
 * @ORMDiscriminatorColumn(name="type", type="string")
 * @ORMDiscriminatorMap({"user_one" = "UserOne", "user_two" = "UserTwo"})
 *
 */
abstract class User extends BaseUser
{
    /**
     * @ORMId
     * @ORMColumn(type="integer")
     * @ORMGeneratedValue(strategy="AUTO")
     */
    protected $id;
    public function __construct()
    {
        parent::__construct();
        // your own logic
    }
}

更新数据库后,在表用户中创建了一个名为new字段

啊,我看到了问题。在树枝文件中,您正在调用:

{% if app.user.type == 'user_one' %}

其中" app.user"指定对象,而" type"指定该方法。但是,您没有在班级中定义的"方法"。但是,您拥有IncistiminatorColumn。

一种方法将是:

public function type(){
   ...
}

希望这是有道理的。

相关内容

  • 没有找到相关文章

最新更新