如何使用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(){
...
}
希望这是有道理的。