Undefined table: 7 ERROR: missing FROM-clause entry for table #6574

Closed
opened 2026-01-22 15:35:12 +01:00 by admin · 0 comments
Owner

Originally created by @videni on GitHub (Nov 29, 2020).

DQL

SELECT o, a, m FROM Acme\Component\Project\Model\Project o  LEFT JOIN o.masterImage m LEFT JOIN o.assets a WHERE o.id = :id

AbstractAsset.orm.xml

<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                  xmlns:gedmo="http://gediminasm.org/schemas/orm/doctrine-extensions-mapping">
    <mapped-superclass name="Acme\Component\Media\Model\AbstractAsset" table="Acme_media_asset">
        <id name="id" column="id" type="integer">
            <generator strategy="AUTO" />
        </id>
        <lifecycle-callbacks>
            <lifecycle-callback type="prePersist" method="prePersist"/>
            <lifecycle-callback type="preUpdate" method="preUpdate"/>
        </lifecycle-callbacks>

        <field name="path" column="path" type="string" nullable="false" />
        <field name="extension" column="extension" type="string" nullable="true" />
        <field name="size" column="file_size" type="integer" nullable="true" />
        <field name="mimeType" column="mime_type" type="string" nullable="false" />
        <field name="originalName" column="original_file_name" type="string" nullable="true" />
        <field name="createdAt" column="created_at" type="datetime"/>
        <field name="updatedAt" column="updated_at" type="datetime" nullable="true"/>
    </mapped-superclass>
</doctrine-mapping>

ProjectAsset.orm.xml

<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
                                      http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">

    <entity name="Acme\Component\Project\Model\ProjectAsset" table="Acme_project_asset">
        <many-to-one target-entity="Acme\Component\Project\Model\ProjectInterface" field="project" inversed-by="assets" >
            <join-column name="project_id" referenced-column-name="id"/>
        </many-to-one>
    </entity>
</doctrine-mapping>

Project.orm.xml

<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
                                      http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"
                  xmlns:gedmo="http://gediminasm.org/schemas/orm/doctrine-extensions-mapping">
    <entity name="Acme\Component\Project\Model\Project" 
            table="Acme_project"
            repository-class="Acme\Component\Project\Persistence\Doctrine\ProjectRepository"
        >
        <id name="id" type="uuid" >
            <generator strategy="NONE"/>
        </id>
        <one-to-many target-entity="Acme\Component\Project\Model\ProjectAsset" mapped-by="project" field="assets">
            <cascade>
                <cascade-all/>
            </cascade>
        </one-to-many>
        <one-to-one target-entity="Acme\Component\Media\Model\Asset" field="masterImage">
            <cascade>
                <cascade-all/>
            </cascade>
        </one-to-one>
    </entity>
</doctrine-mapping>

Asset.orm.xml

<?xml version="1.0" encoding="UTF-8"?>

<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping">
    <entity name="Acme\Component\Media\Model\Asset" table="Acme_media_asset">
        
    </entity>
</doctrine-mapping>

Originally created by @videni on GitHub (Nov 29, 2020). DQL ``` SELECT o, a, m FROM Acme\Component\Project\Model\Project o LEFT JOIN o.masterImage m LEFT JOIN o.assets a WHERE o.id = :id ``` AbstractAsset.orm.xml ``` <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:gedmo="http://gediminasm.org/schemas/orm/doctrine-extensions-mapping"> <mapped-superclass name="Acme\Component\Media\Model\AbstractAsset" table="Acme_media_asset"> <id name="id" column="id" type="integer"> <generator strategy="AUTO" /> </id> <lifecycle-callbacks> <lifecycle-callback type="prePersist" method="prePersist"/> <lifecycle-callback type="preUpdate" method="preUpdate"/> </lifecycle-callbacks> <field name="path" column="path" type="string" nullable="false" /> <field name="extension" column="extension" type="string" nullable="true" /> <field name="size" column="file_size" type="integer" nullable="true" /> <field name="mimeType" column="mime_type" type="string" nullable="false" /> <field name="originalName" column="original_file_name" type="string" nullable="true" /> <field name="createdAt" column="created_at" type="datetime"/> <field name="updatedAt" column="updated_at" type="datetime" nullable="true"/> </mapped-superclass> </doctrine-mapping> ``` ProjectAsset.orm.xml ``` <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> <entity name="Acme\Component\Project\Model\ProjectAsset" table="Acme_project_asset"> <many-to-one target-entity="Acme\Component\Project\Model\ProjectInterface" field="project" inversed-by="assets" > <join-column name="project_id" referenced-column-name="id"/> </many-to-one> </entity> </doctrine-mapping> ``` Project.orm.xml ``` <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd" xmlns:gedmo="http://gediminasm.org/schemas/orm/doctrine-extensions-mapping"> <entity name="Acme\Component\Project\Model\Project" table="Acme_project" repository-class="Acme\Component\Project\Persistence\Doctrine\ProjectRepository" > <id name="id" type="uuid" > <generator strategy="NONE"/> </id> <one-to-many target-entity="Acme\Component\Project\Model\ProjectAsset" mapped-by="project" field="assets"> <cascade> <cascade-all/> </cascade> </one-to-many> <one-to-one target-entity="Acme\Component\Media\Model\Asset" field="masterImage"> <cascade> <cascade-all/> </cascade> </one-to-one> </entity> </doctrine-mapping> ``` Asset.orm.xml ``` <?xml version="1.0" encoding="UTF-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"> <entity name="Acme\Component\Media\Model\Asset" table="Acme_media_asset"> </entity> </doctrine-mapping> ```
admin closed this issue 2026-01-22 15:35:12 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: doctrine/archived-orm#6574