首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少带有FOSUserBundle和FR3DLdapBundle的数据库列

缺少带有FOSUserBundle和FR3DLdapBundle的数据库列
EN

Stack Overflow用户
提问于 2013-08-02 12:30:32
回答 1查看 3.2K关注 0票数 3
  • 我遵循了FOSUserBundle文档(文档)和FR3DLdapBundle (文档) 的说明。
    • FOSUserBundle需要扩展BaseUser类,而FR3DLdapBundle要求用户类实现LdapUserInterface接口
    • 在我的例子中,这导致了这样一个类:

代码语言:javascript
复制
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use FR3D\LdapBundle\Model\LdapUserInterface;

/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser implements LdapUserInterface
{

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

private $dn;

/**
 * the constructor
 */
public function __construct() {
    parent::__construct();
    // your own logic
}

/**
 * {@inheritDoc}
 */
public function getDn() {
    return $this->dn;
}

/**
 * {@inheritDoc}
 */
public function setDn($dn) {
    $this->dn = $dn;
}

}
  • 如果我通过php app/控制台原则更新我的模式: schema : update -em=someEm插入新表。但是,它只插入id列,而不插入继承的列。
  • 我不知道这是FOSUserBundle bug还是FR3DLdapBundle bug
  • 如果我完全删除了FR3DLdapBundle部件,它也不能工作。
  • 因此,我认为这是FOSUserBundle中的某种bug
  • 有谁有主意吗?

提前谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-08-02 15:57:09

FOSUserBundle现在处于过渡状态,因此它在一定程度上取决于您的版本。

你可能需要:

代码语言:javascript
复制
use FOS\UserBundle\Entity\User as BaseUser;  // Note Entity instead of Model

获取基本属性。他们正在将事情转移到模型中,这解释了为什么您可能在文档中看到了Model\User。但是还没有得到稳定的释放。

您可以尝试将composer.json更改为:“friendsofsymfony/user”:"dev-master",并进行更新。或者,如果您已经在使用开发母版,只需执行一次更新。

在此之后,模型库就可以工作了。但是,其他一些代码可能会停止工作。

现在都很不稳定。

当然,您还必须设置正确的原则映射:

代码语言:javascript
复制
           mappings:
                FOSUserBundle: ~
                MyBundle: ~

但是我假设您有这种情况,因为在尝试添加Ldap之前,首先让FOSUserBundle工作。你做得对?

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18016935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档