在symfony 4中生成实体(方法)

时间:2018-03-24 23:13:38

标签: symfony doctrine symfony4

当我尝试在symfony 4.0.6中运行命令php bin/console doctrine:generate:entities App:Center时出现此错误:

  

无法找到" App \ Entity \ Center"的基本路径(路径:   " /家庭/ USER /富/酒吧/ SRC /实体&#34 ;,   目的地:" / home / USER / foo / bar / src / Entity")。

Center是我的实体名称!

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

Doctrine开发人员正在弃用Symfony 4的生成命令。它之所以不起作用,是因为该命令是硬连线的,用于查找目标目录 projectRoot/src/{namespace}/{App}Bundle/Entity/{Center.php} 但Symfony 4目录结构与此不同,因此无法找到它。如果您在使用该命令时没有设置,则可以扩展它并创建自己的命令,您可以在其中更改实体的目标路径。您可以跳过命令部分并自己生成getter和setter。

主义问题:https://github.com/doctrine/DoctrineBundle/issues/729

Symfony问题:https://github.com/symfony/symfony-docs/issues/8893

来自Doctrine的维护者: https://github.com/doctrine/DoctrineBundle/pull/790

答案 1 :(得分:0)

所以,从各种问题来看,我认为你的第一个问题是文件权限......

同时,您需要先修正您的文件权限。 这是怎么做的。

chown /home/alireza/Projects/www/ www-data:www-data /
find /home/alireza/Projects/www/ -type d -exec chmod 0755 "{}" \;
find /home/alireza/Projects/www/ -type f -exec chmod 0664 "{}" \;
find /home/alireza/Projects/www/ -type d -exec chmod g-s "{}" \;
find /home/alireza/Projects/www/ -type d -exec chmod g+s "{}" \;

我假设www/是存储所有项目的地方,我在www/文件夹中停止了路径。因此,它将纠正所有项目的文件权限。

另外,请务必将当前用户添加到www-data群组。

usermod -a -G www-data user_name

试试这个,告诉我们你是否还有问题。