我是一个symfony初学者,我想用框架创建一个博客.我使用存储库来获取这种方法的家庭文章:
public function getHomeArticles($offset = null, $limit = null)
{
$qb = $this->createQueryBuilder('a')
->leftJoin('a.comments', 'c')
->addSelect('c')
->addOrderBy('a.created', 'DESC');
if (false === is_null($offset))
$qb->setFirstResult($offset);
if (false === is_null($limit))
$qb->setMaxResults($limit);
return $qb->getQuery()
->getResult();
}
Run Code Online (Sandbox Code Playgroud)
所以在我的数据库中我有10篇文章.在我的BlogController中,我使用:
$blog = $em->getRepository('TestBlogBundle:Article')
->getHomeArticles(3,4);
Run Code Online (Sandbox Code Playgroud)
有了这个,我想要4篇文章.但作为回报,我也有一篇文章.
问题是什么?
我目前正在开发一个iOS应用程序,允许用户查阅他们的帐户(在网站上创建帐户).
我希望用户可以在连接后查阅他的帐户.所以,我想要一个第一个视图,它将是一个登录视图.接受连接后,登录视图消失,第一个视图控制器加载数据.
我怎样才能做到这一点?
在我的表单类型我有这个:
$builder
->add('options', 'choice', [
'choices' => $choices,
'multiple' => true,
'expanded' => true,
'label' => false
])
;
Run Code Online (Sandbox Code Playgroud)
选择是一个数组:
$choices = [
'val1' => 'val1',
'val2' => 'val2',
'val3' => 'val3'
];
Run Code Online (Sandbox Code Playgroud)
好极了!现在我想用这样的数组对我的选择进行分类:
$choices = [
'label1' => [
'val1' => 'val1',
'val2' => 'val2',
],
'label2' => [
'val3' => 'val3',
'val4' => 'val4',
],
'label3' => [
'val5' => 'val5',
'val6' => 'val6',
],
];
Run Code Online (Sandbox Code Playgroud)
所以我想要下面的结果

实现这一目标的最佳方法是什么?
在我的Symfony2.3项目中,我有一个前端网站和一个后端.security.yml文件后端是安全的,只有role_admin用户可以访问后端.
我现在想要的只有管理员用户可以在资产中下载pdf文件存储.
有没有办法做到这一点 ?
现在,所有访问者都可以通过url链接访问我的pdfs文件.
我必须将此pdf移动到另一个文件夹吗?或者使用htaccess?