PUGXMultiUserBundle 获取当前用户的类型
PUGXMultiUserBundle get type of current user
如何使用 PUGXMultiUserBundle 获取当前用户的类型?
这个代码returns这个错误
{% if app.user.type == 'user_one' %}
//...
{% endif %}
这是错误
Method "type" for object "AppBundle\Entity\UserOne" does not exist
这是实体用户
namespace AppBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="user")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({"user_one" = "UserOne", "user_two" = "UserTwo"})
*
*/
abstract class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
public function __construct()
{
parent::__construct();
// your own logic
}
}
更新数据库后,在 table 用户
中创建了一个名为 type 的新字段
啊,我明白了。在树枝文件中,您正在调用:
{% if app.user.type == 'user_one' %}
其中"app.user"指定对象,"type"指定方法。但是您没有在 Class 中定义 "method"。但是你有 DiscriminatorColumn.
方法类似于:
public function type(){
...
}
希望这是有道理的。
如何使用 PUGXMultiUserBundle 获取当前用户的类型? 这个代码returns这个错误
{% if app.user.type == 'user_one' %}
//...
{% endif %}
这是错误
Method "type" for object "AppBundle\Entity\UserOne" does not exist
这是实体用户
namespace AppBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="user")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({"user_one" = "UserOne", "user_two" = "UserTwo"})
*
*/
abstract class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
public function __construct()
{
parent::__construct();
// your own logic
}
}
更新数据库后,在 table 用户
中创建了一个名为 type 的新字段啊,我明白了。在树枝文件中,您正在调用:
{% if app.user.type == 'user_one' %}
其中"app.user"指定对象,"type"指定方法。但是您没有在 Class 中定义 "method"。但是你有 DiscriminatorColumn.
方法类似于:
public function type(){
...
}
希望这是有道理的。