在我正在尝试的Windows机器上使用Symfony 2和Doctrine
从现有模式生成实体:
php app/console doctrine:mapping:import --force CoreBundle annotation
在它们上生成getter/setter:
php app/console doctrine:generate:entities --path=/path/to/codebase/src/MyProject/CoreBundle/Entities CoreBundle
使用Voryx在它们上生成REST CRUD控制器:
php app/console voryx:generate:rest --entity="CoreBundle:User"
第一步工作正常,我可以在我的CoreBundle/Entity文件夹中找到具有正确命名空间的实体:
MyVendor\MyProject\CoreBundle\Entity
Run Code Online (Sandbox Code Playgroud)
目前很好.但是,运行其他2个命令将失败:
[RuntimeException]
Can't find base path for "CoreBundle" (path:
"\path\to\codebase\src\MyProject\CoreBundle", destination:
"/path/to/codebase/src/MyProject/CoreBundle").
Run Code Online (Sandbox Code Playgroud)
我的composer.json中的自动加载看起来像这样:
"autoload": {
"psr-4": {
"MyVendor\\": "src/"
}
},
Run Code Online (Sandbox Code Playgroud)
我发现Doctrine不能处理PSR-4命名空间,这可能是它失败的原因.
我真的希望这些实体能够存在于PSR-4 CoreBundle中 - 它有解决方法吗?
我试过这个,但它也不起作用:
"autoload": {
"psr-0": {
"MyVendor\\MyProject\\CoreBundle\\Entity": "src/MyProject/CoreBundle/Entity/"
},
"psr-4": {
"MyVendor\\": "src/"
}
},
Run Code Online (Sandbox Code Playgroud)
谢谢.
在过去的5个小时左右,我正在撞墙.
我和Plesk一起安装了全新的Centos 6.机器启动后,我正在尝试将/var文件夹移动到附加的EBS(/dev/xvdj):
#copy original /var to /dev/xvdj
mkdir /mnt/new
mount /dev/xvdj /mnt/new
cd /var
cp -Rax * /mnt/new
cd /
mv var var.old
#mount EBS as new /var
umount /dev/xvdj
mkdir /var
mount /dev/xvdj /var
Run Code Online (Sandbox Code Playgroud)
我知道在移动之前/var我应该将实例启动到运行级别1(单个用户)以防止任何写入和读取/var.但是,这使我从实际学习中解脱出来.
我试图手动停止mysql,webserver和邮件服务器,但是在我移动后我/var无法重新启动这些服务,它们只是[FAILED]在我尝试启动时说明.他们也没有写任何东西/var/log.乍一看内部目录的权限/var看起来不错,也存在符号链接.
有任何想法吗?
在带有 Doctrine 的 Symfony 3 中,我试图与共享相同主键的两个表建立一对一的单向关系。为此,我正在尝试复制Doctrine Association Mapping页面上的示例。
但是,一对一的 uni 文档没有 setter 和 getter 的示例 - 目标实体上也没有 id 字段的定义。所以我试着围绕自己做实验。
这些是我的实体:
class Country
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", precision=0, scale=0, nullable=false, unique=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ORM\OneToOne(targetEntity="MySubEntity", cascade={"persist", "remove"})
* @ORM\JoinColumn(name="id", referencedColumnName="id", nullable=true)
*/
private $mysubentity;
[...]
/**
* @return MySubEntity
*/
public function getMySubEntity()
{
return $this->mysubentity;
}
/**
* @param MySubEntity $mysubentity
*/
public function setMySubEntity($mysubentity)
{
$this->mysubentity …Run Code Online (Sandbox Code Playgroud)