你如何在Symfony2中管理内容状态

时间:2013-12-06 10:29:24

标签: symfony fosuserbundle status

你如何创建博客,微博等的状态?
我只是创建了一个状态,每个应用程序实体的状态代码都是布尔值 虚假是私人的,真实是公开的 它是fosuserbundle中的多用户环境。

直到现在才创造它没有任何问题。

但是,我希望能够在多用户环境中设置用户,组和其他状态 (比如linux权限,744等......)

所以,我认为它可能会创建一个管理状态的包。

我创建的评论包是通过字符串的ID来关联每个应用程序包。

{{ render(controller('MyCommentBundle:Default:embed', {
    'id'     : 'for_example_micropost_' ~ micropost.id, // => relation id
    'name'   : micropost.owner.username,
    'request': app.request
})) }}

但是,在查看应用程序内容列表时无法使用。 (因为查询是逐个进行的)

例如,通过为每个应用程序创建一个列来简单地关系。

状态实体

blog_id
micropost_id
picture_id
etc...

但我觉得不方便。
在为每个新应用程序生成时,它需要处理额外的列 我觉得它也不聪明。

例如,在列表部分中执行此操作。 DQL中字符串的条件(如果可能)。

public function find_all($owner, $limit, $offset)
{
    $q = $this->getEntityManager()->createQuery('
        SELECT p FROM MyMicropostBundle:Post p
        LEFT JOIN MyStatusBundle s
            With s.relation_id = :prefix + p.id
        WHERE s.code > 744
    ')
    ->setParameter("prefix", 'for_example_micropost_')
    ->setParameter("owner", $owner)
    ->setMaxResults($limit)
    ->setFirstResult($offset);

    return $q->getResult();
}

等等,我认为,但我不知道最好的方式。

您如何创建状态?
你知道状态包了吗?
或者你知道捆绑可能与我有关。

如果有最佳方式和想法,请告诉我。


StatusBundle流程:
它首先检查访问用户 它检查状态代码以及与内容关联的组和所有者 它将内容的状态代码,组和所有者与访问用户进行比较。

我认为可以在我的技能中在单个页面中创建(关系)捆绑 但是,问题是如何在这样的列表显示页面上查询获取大量内容的关系。

例如,我获取了最近10篇博文的数据 如果访问用户不是所有者,我会收到最后10个公开状态帖子 如果Post实体具有状态,则很容易 但是,我认为如果在其他包的状态实体中注册了帖子的状态,如何检查状态,组和所有者。
我认为在获取大数据内容的数据时如何处理状态包。

0 个答案:

没有答案