Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema ao Inserir com Duas Tables (tópico dubplicado)

Olá, Não uso Zend, mas uso Doctrine, então a dúvida é válida.

Eu tenho Duas Classes Filhas (Enterprise e BossSector) e uma referência para cada noutra classe (Sector).

Enterprise.php

/**
 * @Entity
 * @Table(name="Empresa")
 * <b>Enterprise</b>
 * Classe POJO que mantêm o Nome da Empresa(ou Hospital)
 */
class Enterprise extends EntityAbstract
{
    /**
     * @var integer @Id
     *      @Column(name="id", type="integer")
     *      @GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @var String
     *      @Column(name="nm_empresa", type="string", length=255)
     */
    protected $name;

    public function __construct($id = 0, $name = "")
    {
        $this->id = $id;
        $this->name = $name;
    }

BossSector.php

* @Entity
 * @Table(name="Responsavel_Setor")
 * <b>BossSector</b>
 * Classe POJO que contém os atributos de um Chefe de Setor,
 * consistindo no seu Nome e E-mail
 */
class BossSector extends EntityAbstract
{
    /**
     * @var integer @Id
     *      @Column(name="id", type="integer")
     *      @GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @var String
     *      @Column(name="nm_responsavel", type="string", length=255)
     */
    protected $name;

    /**
     * @var String
     *      @Column(type="string", length=255)
     */
    protected $email;

    public function __construct($id = 0, $name = "", $email = "") {
        $this->id = $id;
        $this->name = $name;
        $this->email = $email;
    }

Sector.php

/**
 * @Entity
 * @Table(name="Setor")
 * <b>Sector</b>
 * Classe POJO responsável por manter os atributos da tabela Setor,
 * onde constam o Nome do Setor, o Objeto dos Chefes de Setor(BossSector)
 * e Objeto com as Empresas(Enterprise)
 */
class Sector extends EntityAbstract
{
    /**
     * @var integer @Id
     *      @Column(name="id", type="integer")
     *      @GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @var String
     *      @Column(name="nm_setor", type="string", length=255)
     */
    protected $name;

    /**
     * @ManyToOne(targetEntity="BossSector",cascade={"persist", "remove"})
     * @JoinColumn(name="id_responsavel_setor")
     */
    protected $BossSector;

    /**
     * @ManyToOne(targetEntity="Enterprise",cascade={"persist", "remove"})
     * @JoinColumn(name="id_empresa")
     */
    protected $Enterprise;

    public function __construct($enterprise, $bossSector, $name = "", $id = 0) {
        $this->id = $id;
        $this->BossSector = $bossSector;
        $this->Enterprise = $enterprise;
        $this->name = $name;
    }
1 resposta
solução!

Boa tarde, Gustavo! Como vai?

Já que esse tópico está duplicado irei fechá-lo para que o pessoal contribua apenas nesse outro tópico que vc criou!

Grande abraço e bons estudos!