我有3个简单的表:user,role,user_x_role with Many-To-Many relation.我有2个实体:用户和角色.用户实体具有带有关系注释的$ userRoles属性.在Controller中,我需要获取具有特定角色的所有用户.但我不知道如何在控制器中使用JOIN.目前错误的代码:
$role = $this->getDoctrine()->getRepository('TestBackEndBundle:Role');
$roles = $role->findBy(array('name' => 'ROLE_PARTNER'));
$user = $this->getDoctrine()->getRepository('TestBackEndBundle:User');
$partners = $user->findBy(array('userRoles' => $roles));
Run Code Online (Sandbox Code Playgroud)
它显示"Undefined index:joinColumns in ...".但我在用户实体中有joinColumns:
/**
* @ORM\ManyToMany(targetEntity="Role")
* @ORM\JoinTable(name="user_x_role",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id", onDelete="CASCADE", onUpdate="CASCADE")},
* inverseJoinColumns={@ORM\JoinColumn(name="role_id", referencedColumnName="id", onDelete="CASCADE", onUpdate="CASCADE")}
* )
* @var ArrayCollection
*/
protected $userRoles;
Run Code Online (Sandbox Code Playgroud) Symfony2中是否有工具或捆绑包允许我使用css文件创建普通模板,然后将其转换为内联css规则,以便它可以用作电子邮件的正文?
我是Scala的新手,需要构建一个非常简单的命令行解析器,它提供了我在几分钟内使用JRuby创建的以下内容: -
java -jar demo.jar --help
Command Line Example Application
Example: java -jar demo.jar --dn "CN=Test" --nde-url "http://www.example.com" --password "password"
For usage see below:
-n http://www.example.com
-p, --password set the password
-c, --capi set add to Windows key-store
-h, --help Show this message
-v, --version Print version
Run Code Online (Sandbox Code Playgroud)
扇贝看起来会成功,但我似乎无法找到一个有效的简单例子!我发现的所有例子似乎都是碎片化的,不能出于某种原因或其他原因.
UPDATE
我发现这个例子有效,但我不知道如何将它绑定到main方法中的实际args中.
import org.rogach.scallop._;
object cmdlinetest {
def main(args: Array[String])
val opts = Scallop(List("-d","--num-limbs","1"))
.version("test 1.2.3 (c) 2012 Mr Placeholder")
.banner("""Usage: test [OPTION]... [pet-name]
|test is an awesome program, which does …Run Code Online (Sandbox Code Playgroud) 如何将服务(我创建的服务)注入到Controller中?二头注射就可以了.
<?php
namespace MyNamespace;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class MyController extends Controller
{
public function setMyService(MyService $myService)
{
$this->myService = $myService;
}
public function indexAction()
{
//Here I cannot access $this->myService;
//Because the setter is not called magically!
}
}
Run Code Online (Sandbox Code Playgroud)
我的路线设置:
// Resources/routing.yml
myController_index:
pattern: /test
defaults: { _controller: "FooBarBundle:MyController:index" }
Run Code Online (Sandbox Code Playgroud)
我正在另一个包中设置服务:
// Resources/services.yml
parameters:
my.service.class: Path\To\My\Service
services:
my_service:
class: %my.service.class%
Run Code Online (Sandbox Code Playgroud)
当路由解决时,不注入服务(我知道它不应该).我想在yml文件中的某个地方,我必须设置:
calls:
- [setMyService, [@my_service]]
Run Code Online (Sandbox Code Playgroud)
我没有将此Controller用作服务,它是一个为Request提供服务的常规Controller.
编辑:此时,我正在使用$ this-> container-> get('my_service')获取服务; 但我需要注射它.
我在Symfony2上制作经典的无状态RESTfull API:用户/应用程序在身份验证API上获取身份验证令牌,并将其提供给所有其他要记录的API,并在其他API上发布数据/访问受保护/私有/个人数据.
我现在有三个关于此工作流程和缓存的问题:
如何为我的'静态'API(始终提供相同的内容,无论记录的用户及其令牌)使用HTTP缓存,假设不同的用户为同一个API在url中传递不同的令牌,以便url会永远不一样?那么如何使用HTTP共享缓存呢?
对于记录的用户权限(我基本上有4种不同的权限级别),我有相同URL的API生成不同的输出.问题是:这是一个好模式吗?拥有4个不同的网址,每个网址对应一个,我可以缓存,这不是更好吗?如果没有,如何实现适当的缓存?
共享HTTP缓存是否可以在HTTPS上运行?如果没有,我应该实现哪种类型的缓存,以及如何实现?
感谢您的回答和指示.
在我的注册表单中,我有一个复选框"我接受条款",并希望将"条款"一词链接到我的条款页面.
有没有办法使用路由添加表单标签的链接?(最好不要在表格中注入容器)
有一些问题在symfony 2.1网站上更改区域设置.
我找不到一种能够在不使用_locale每条路线的情况下更改lang的方法.我知道这是违反基本规则的,但是这个内容例如不会被引擎索引,因为它只是成员.
通常,我想要一个简单的方法来更改请求(BC版本2.1)或会话上的区域设置,但无法弄清楚如何顺利地执行此操作.我也想避免使用Listener.
config.yml文件:
framework:
translator: { fallback: %locale% }
session:
Run Code Online (Sandbox Code Playgroud)
routing.yml文件:
route_change_lang:
pattern: /changelang/{newlang}
defaults: { _controller: AcmeCoreBundle:Default:switchLanguage, newlang: en }
requirements:
newlang: en|fr|de
Run Code Online (Sandbox Code Playgroud)
更新路由器区域设置的简单操作:
public function switchLanguageAction($newlang)
{
$request = $this->getRequest();
$request->setLocale($newlang);
$referer_url = $this->get('request')->headers->get('referer');
if ($referer_url != null) {
return $this->redirect($referer_url);
} else {
return $this->redirect($this->generateUrl('route_home'));
}
}
Run Code Online (Sandbox Code Playgroud)
问题是什么?我想它与主config.yml文件中设置的default_locale有关,但是文档不是很清楚,任何帮助/提示都表示赞赏
我想将symfony2.1用于新项目.我尝试用composer安装symfony2.但是存在多个错误/问题,因此我也以粗体字体样式对每个问题提出疑问.有时我不知道我是否以正确的方式做到了.
我想使用稳定版本,所以我选择了2.1.0版本而不是dev/master.
php composer.phar create-project symfony/framework-standard-edition symfony v2.1.0
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
Installing symfony/framework-standard-edition (v2.1.0)
- Installing symfony/framework-standard-edition (v2.1.0)
Downloading: 100%
Created project in symfony
Loading composer repositories with package information
Installing dependencies from lock file
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for symfony/symfony == 2.1.9999999.9999999-dev -> satisfiable by symfony/symfony 2.1.x-dev.
- Can only install one of: symfony/symfony dev-master, symfony/symfony 2.1.x-dev.
- Installation request for symfony/symfony == 9999999-dev -> satisfiable …Run Code Online (Sandbox Code Playgroud) 我有一个为Symfony 2.0编写的应用程序,我已经开始将它迁移到Symfony 2.1中.我已成功使用composer安装了所有依赖项,但脚本失败了......
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap handling the post-update-cmd event terminated with an exception
[RuntimeException]
An error occurred when generating the bootstrap file.
Run Code Online (Sandbox Code Playgroud)
任何线索?我完全迷失了,而且我用谷歌搜索了它,但我只在一个论坛上发现了一个帖子,其中的人和我有同样的问题......
想象一下,您有一个由不同组件构成的相当复杂的面向服务的体系结构.组件使用不同的语言(Java,PHP,Ruby)编写,并以不同的方式相互通信(即UI,REST API,在某些情况下共享一些DB表等).
我正在尝试为一些端到端测试设计集成测试框架.我们已经对单个组件进行了单元/集成测试,但是我们希望构建一些能够端到端地完全测试我们部署的系统(在真实环境中)的东西,以确保功能(就个人的预期行为而言)组件正确提供,并且架构也正确配置.
我面临的第一个问题是我们的大多数UI都是用PHP编写的,并且已经使用Cucumber和顶部的几个插件为它编写了UI集成测试.我正在编写的测试框架(Java)应该触发这些功能测试,然后检查相关组件的行为是否符合预期.
显然,我可以使用像Selenium这样的Java友好组件重写UI测试,但复制工作没有意义.
另一个解决方案是在Java中使用exec()调用运行现有测试,等待它们返回,可能解析输出并继续执行需要执行的其他操作/检查.
考虑到项目的编写方式,在Java中嵌入现有的PHP代码似乎不是一个可行的解决方案.
所描述的解决方案都没有让我觉得有说服力.理想情况下,拥有某种多语言(和多技术)集成框架会很好,这种集成框架可以插入用不同语言和不同环境/组件编写的相同测试套件测试中.
有没有人知道朝这个方向发展的工具或框架?如果没有,对这类问题有什么好处?
symfony ×8
php ×4
symfony-2.1 ×3
api ×1
bdd ×1
caching ×1
composer-php ×1
css ×1
doctrine ×1
doctrine-orm ×1
java ×1
rest ×1
scala ×1
sonata-admin ×1
testing ×1
twig ×1