小编alb*_*ert的帖子

如何停止学习尝试为已映射到实体的视图创建表?

我如何阻止symfony尝试为我在学说迁移中创建的视图创建表?

实体映射视图

/**
* Class TenancyPendingInspection
* @ORM\Entity(repositoryClass="DJABundle\PropertyVisit\Repository\TenancyPendingInspectionRepository", readOnly=true)
* @ORM\Table(name="view_tenancies_pending_inspections")
*/
class TenancyPendingInspection
{
Run Code Online (Sandbox Code Playgroud)

我也有教条迁移文件.

学说配置

doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                [...]
                charset:   UTF8
                server_version:       5.6
                schema_filter: ~^(?!view_)~
Run Code Online (Sandbox Code Playgroud)

Doctirne架构验证

php app/console doc:sch:val
[Mapping]  OK - The mapping files are correct.
[Database] FAIL - The database schema is not in sync with the current mapping file.
Run Code Online (Sandbox Code Playgroud)

Doctrine架构更新

php app/console doc:sch:update --dump-sql
CREATE TABLE view_tenancies_pending_inspections ...
Run Code Online (Sandbox Code Playgroud)

php symfony doctrine-orm

7
推荐指数
2
解决办法
1553
查看次数

如何在没有 SSH 和 CLI 访问生产的情况下部署 symfony 项目

大多数托管服务提供商只有 FTP 访问权限。

是否可以/通常在本地安装 symfony 项目(3.x 或 4.x),然后通过 FTP 上传并手动创建/更新数据库?

这个问题阻碍了我完全从 symfony 开始。

谢谢!

php symfony

3
推荐指数
1
解决办法
2668
查看次数

symfony 学说 QueryBuilder 到数组结果

我想从学说查询中获取数组。\n我有自引用实体

\n\n

应用程序\实体\访问模块

\n\n
/**\n * @ORM\\ManyToOne(targetEntity="App\\Entity\\AccessModule", inversedBy="children")\n * @ORM\\JoinColumn(name="parent_id", referencedColumnName="id", nullable=true)\n */\nprivate $parent;\n\n/**\n * @ORM\\OneToMany(targetEntity="App\\Entity\\AccessModule", mappedBy="parent", fetch="EAGER")\n * @Serializer\\MaxDepth(2)\n */\nprivate $children;\n\n\n/**\n * AccessModule constructor.\n */\npublic function __construct()\n{\n    $this->children = new ArrayCollection();\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

在这个存储库中

\n\n

应用程序\\实体\\AccessModuleRepository

\n\n
 public function findAllArray()\n{\n    return $this->createQueryBuilder(\'a\')\n        ->getQuery()\n        ->getResult();\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

这返回具有子级和父级的对象的集合。但是,当我想将此查询作为数组获取时,->getArrayResult()我仅获取包含“id”和“name”的数组,而没有子数组“children”和“parent”。

\n\n

返回 $this->createQueryBuilder(\'a\')->getQuery()->getArrayResult();

\n\n
array:3 [\xe2\x96\xbc\n 0 => array:2 [\xe2\x96\xbc\n   "id" => 2\n   "name" => "Common module"\n  ]\n  1 => array:2 [\xe2\x96\xbc\n    "id" => 3\n    "name" => "User Module"\n ]\n 2 => …
Run Code Online (Sandbox Code Playgroud)

doctrine query-builder symfony

2
推荐指数
1
解决办法
2万
查看次数

symfony2服务标记为doctrine.event_subscriber在使用带参数的服务时未接收事件

当我使用参数设置服务sme_task.listener.status_change时,它不接收事件.

services:
    sme_task.service.task_template:
        class: Sme\TaskBundle\Service\TaskTemplateService
        arguments: [@doctrine.orm.entity_manager]

    sme_task.listener.status_change:
        class: Sme\TaskBundle\Listener\StatusChangeListener
        arguments: ["@sme_task.service.task_template"]
        tags:
            - { name: doctrine.event_subscriber, connection: default }
Run Code Online (Sandbox Code Playgroud)

如果我删除参数,则到达事件.

    sme_task.listener.status_change:
        class: Sme\TaskBundle\Listener\StatusChangeListener
        tags:
            - { name: doctrine.event_subscriber, connection: default }
Run Code Online (Sandbox Code Playgroud)

中小企业\ TaskBundle \监听\ StatusChangeListener.php

class StatusChangeListener implements EventSubscriber {
    private $taskTemplateService;
    public function __construct($taskTemplate=null) {

        $this->taskTemplateService=$taskTemplate;
    }

[...]

    public function onFlush(OnFlushEventArgs  $eventArgs) {
        throw new \Exception("Event reached");
        [... some calls to TaskTemplateService ...]
    }

    function getSubscribedEvents()
    {
        return array("onFlush");
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么会发生这种情况以及如何解决这个问题?

php symfony doctrine-orm

1
推荐指数
1
解决办法
713
查看次数

标签 统计

symfony ×4

php ×3

doctrine-orm ×2

doctrine ×1

query-builder ×1