Задать вопрос
@symnoob

Symfony 4 — Doctrine — Repository как вытащить правельный тип данных??

Привет Форум,

у меня проблема с типом данных,

вот метод из моего репозитория:
public function getAllIds($objektId, $uid):array
    {
        $conn = $this->getEntityManager()->getConnection();

        $sql = '
        SELECT o.id as id, a.id as aid,l.id as lid FROM immo_miete o
        LEFT JOIN immo_ausstattung a 
        ON o.id = a.fk_mid_id
        LEFT JOIN immo_lage l 
        ON o.id=l.fk_mid_id
        WHERE o.id = :objektId
        AND o.uid_id=:uid
        ORDER BY o.id ASC
        ';
        $stmt = $conn->prepare($sql);
        $stmt->execute(['objektId' => $objektId, 'uid' => $uid]);

        
        return $stmt->fetch();
    }


когда я проверяю из своего контроллера переменные,
почемуто все переменные из массива являются string

$ids = $this
            ->entityManager
            ->getRepository(Objekt::class)
            ->getAllIds(1, $this->uid);

        echo gettype ($ids['id']);


id в dbms обазначен как integer

что я делаю не так?
  • Вопрос задан
  • 731 просмотр
Подписаться 2 Простой Комментировать
Решения вопроса 1
DevMan
@DevMan
по дефолту пдо получает числа как строки, и это при должном желании элементарно лечится.

рецепт для пдо - Можно ли при запросе из БД получить цифру?
рецепт конкретно для доктрины - https://coderwall.com/p/goyc8w/how-to-stop-doctrin...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
voronkovich
@voronkovich
Никак. Доктрина не делает приведение типов данных при выполнении обычного SQL-запроса. Используйте array_map.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы