Невозможно использовать пользовательский атрибут для имени столбца в codeigniter - PullRequest
0 голосов
/ 08 февраля 2019

Я попытался сравнить два столбца, которые не имеют данных одинакового типа в платформе Codeigniter, первый столбец - char, а второй - integer.Я использую PostgreSQL для этого случая.Если бы я использовал MySQL, я мог бы выполнить этот запрос без проблем.

...
->join(
       "m_region_new c", 
       "a.column1= c.column2", "LEFT")
...

, но поскольку PostgreSQL очень чувствителен, я не смог бы сравнить эти два столбца, поскольку они имеют данные разных типов.Поэтому мне нужно добавить ::integer в column2, чтобы это выглядело так:

 ...
->join(
       "m_region_new c", 
       "a.column1= c.column2::integer", "LEFT")
...

Но помощник по запросу Codeigniter делает атрибут ::integer в качестве имени столбца.Результат синтаксиса запроса выглядит следующим образом.

... LEFT JOIN "m_region_new" "c"."column2::integer" ...

, в то время как правильный синтаксис для PostgreSQL такой:

... LEFT JOIN "m_region_new" "c"."column2"::integer ...

Ошибка выглядит следующим образом.

ERROR: column c.column2"::integer does not exist LINE 7: ...

Как я могу избежать атрибута ::integer, чтобы помощник codeigniter не считал его как имя столбца?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...