PhpStorm似乎不承认我的任何Doctrine实体类或它们的方法.
$comment = $em->getRepository('MyBundle:Comment')->findOneBy(array('id' => $id));
$comment->getId();
/* PHPSTORM THROWS WARNING: Method getId() not found in subject class */
Run Code Online (Sandbox Code Playgroud)
只有当我明确地评论它时,错误才会消失 - 这真的使我的控制器变得混乱.
/* @var \MyBundle\Entity\Comment $comment */
$comment = $em->getRepository('MyBundle:Comment')->findOneBy(array('id' => $id));
Run Code Online (Sandbox Code Playgroud)
有没有办法在我的实体类中为PhpStorm记录这个?
我正在使用PhmStorm 8的Symfony2插件.谢谢!
我有这个问题.通过清除Doctrine元数据神奇地解决了:
php app/console doctrine:cache:clear-metadata
Run Code Online (Sandbox Code Playgroud)
编辑:在symfony插件的GitHub寄存器中,有一个简短的描述,当这个问题发生时该怎么办:
https://github.com/Haehnchen/idea-php-symfony2-plugin
自动完成(或其他)不起作用!救命!
[...]
许多功能都需要 app/cache/dev/appDevDebugProjectContainer.xml文件存在.它是在开发环境中启动应用程序时生成的(在浏览器或php app/console中打开/app_dev.php).
由于我的服务器是远程的,手动同步文件app/cache/dev/appDevDebugProjectContainer.xml解决了我的问题.
当我在本地服务器上工作时,我上面写的命令帮助我重新开始自动完成工作.
我对Symfony2插件有同样的问题,这可能不是一个很好的解决方案,但它的工作原理
/** @var EntityManager $em */
$em = $this->doctrine->getManager();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4567 次 |
| 最近记录: |