doctrine2 oracle запрашивающий с методами find, не работает

1

У меня есть объект:

/**
 * @ORM\Entity
 * @ORM\Table(name="TERCEROS")
 */
class Empleado
{
    /**
     * @ORM\Id
     * @ORM\Column(type="string", name="CODIGO", length=15)
     * @ORM\GeneratedValue(strategy="NONE")
     * @var string
     */
    protected $cedula;

    /**
     * @ORM\Column(type="string", name="APELLIDO1")
     * @var string
     */
    protected $apellido1;
}

и поэтому получите менеджера:

$path = array(__DIR__.'/../../Entities');
$devMode = getenv('DEV_MODE');
$config = Setup::createAnnotationMetadataConfiguration($path, $devMode, null, null, false);

$config->setProxyDir($path[0] . '/Proxy');
$config->setProxyNamespace('Proxy');

$empleadosManager = \Doctrine\ORM\EntityManager::create(arrayparams, $config);

при использовании любого метода find, который должен возвращать один единственный Empleado, этот возврат null

$empleadosRepository = $empleadosManager->getRepository(Empleado::class);
$empleados = $empleadosRespository->findAll(); //this returns the data correctly
$empleado = $empleados = $empleadosRespository->find('12345678'); //=null
$empleado = $empleados = $empleadosRespository->findOneBy(['apellido1' =>'fulano']); //=null

Никто не нашел, хотя у меня есть Empleado с apellido1 = 'fulano' и cedula = '1234567', вставленной в базу данных

PS: Я работаю с учением вне Symfony.

Теги:
orm
doctrine2

1 ответ

0

Все выглядит хорошо для меня, но могло случиться, что вы столкнулись с проблемой верхнего и нижнего регистра. Кажется, что все имена таблиц и столбцов заглавные.

Правильны ли имена таблиц и имена столбцов в декларации сущности? Кажется немного непоследовательным:

table: TERCEROS (Если это не EMPLEADO??)
column: CODIGO (Если это не CEDULA?)

Из-за этого вы можете запросить неправильную таблицу/столбец...!?

  • 0
    все имена таблиц и столбцов являются upercase, имена на объекте изменены, чтобы сделать его более совместимым с целью API, поскольку в таблице TERCEROS хранятся сотрудники, я не знаю, потому что он был назван таким образом, когда он был создан , Я был неправ в объяснении, findAll() возвращает данные правильно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню