2016-09-29 2 views
0

Я хочу преобразовать id в string в мой SQL-запрос.php преобразовать целочисленный первичный ключ (id) в строку

я хочу ответ JSON с идентификатором строки ...

я попытался convert(id, char) и cast(id as char) в select, но проблема остается ...

пример:

{ 
    "status": 1, 
    "message": "Success", 
    "nexturl": "http://domain.dev/feed/298", 
    "data": [ 
    { 
     "id": 123456789, 
     "userid": 12, 
    } 
    ] 
} 

я хочу, чтобы это :

{ 
    "status": 1, 
    "message": "Success", 
    "nexturl": "http://domain.dev/feed/298", 
    "data": [ 
    { 
     "id": "123456789", 
     "userid": "12", 
    } 
    ] 
} 
+1

Как [это] (http://stackoverflow.com/questions/12821528/int-to-string-in-mysql)? –

+2

вам необходимо отправить (полный) соответствующий код, а также схему db. –

+4

Не создавайте свои собственные строки JSON. Используйте 'json_encode ($ массив или объект);' для этого. Тогда это будет правильно. Вероятно, вы не будете в большинстве случаев. ___ Через несколько минут с помощью руководства можно сэкономить часы боли. [И вот инструкция] (http://php.net/manual/en/function.json-encode.php) – RiggsFolly

ответ

0

я нашел ответ

мы можем преобразовать столбцы в классе сущностей ...

поэтому я создал объект для users таблицы и я преобразовал первичный ключ (id) в сущности.

namespace App\Model\Entity; 

use Cake\ORM\Entity; 

class User extends Entity 
{ 
    protected $_accessible = [ 
     '*' => true, 
    ]; 

    protected function _getId($id){ 
     return (string) $this->_properties['id']; 
    } 
} 
-2

CONVERT(id, CHAR(50)) as id - правильный синтаксис.

+0

Я использовал это раньше, но никаких изменений ... – mostafaznv

+0

Это лучше сделать в PHP. Совершенно бессмысленно делать это в запросе, так как в любом случае задействован дополнительный слой. – tadman

Смежные вопросы