2016-01-07 6 views
0

Я не могу понять, в чем проблема, я не могу вспомнить, когда она впервые появилась, сейчас она не вызывает много проблем, но она отнимает соединение, и это не последняя точка в мобильном телефоне коммуникации. Проблема следующая.Laravel Eloquent model duplicate keys в модели

Вот вывод модели, такой вывод для любой модели, я имею в виду, что он дублирует каждое ассоциативное значение с индексом.

array:1 [ 
    0 => array:12 [ 
    "id" => "55" 
    0 => "55" 
    "user_id" => "199" 
    1 => "199" 
    "token" => "b7351fb13c5ce06a6f09ef6147c7d7d5" 
    2 => "b7351fb13c5ce06a6f09ef6147c7d7d5" 
    "expiration_time" => "1452795403" 
    3 => "1452795403" 
    "scope" => "0" 
    4 => "0" 
    "last_login_time" => "1452194400" 
    5 => "1452194400" 
    ] 
] 

Я пытался следовать стек вызова функции и остановился на

public static function hydrate(array $items, $connection = null) 

я здесь свалка, как я описал выше.

Я понятия не имею, что может вызвать такое поведение.

Возможно, у кого-то есть идея, что может вызвать такую ​​проблему. Спасибо всем.

EDIT

Я загрузил код Pastebin http://laravel.io/bin/VP435

отредактированные модель для моих потребностей, но это не должно влиять на эту часть.

Я пытаюсь найти «корень зла» прямо сейчас.

hybrate метод вызывается Builder

public function getModels($columns = ['*']) 

Это запрос к БД $ Результаты = $ этом-> query-> Get ($ столбцы);

Запрос следит за

"select * from `tokens` where `token` = ? limit 1" 

И это правильно запрос не проблема с этим

+0

Вы бы [pastebin] (http://laravel.io/bin) код вашей модели? Какую версию Laravel вы используете, точно? – alariva

+0

Я только что обновил, см. Сообщение Редактировать – CROSP

+0

Вы вставили класс модели рамы Laravel. Но как называется ваша модель, и каков ее код? – alariva

ответ

1

Пожалуйста, убедитесь, что в config/database.php вы установили fetch в PDO::FETCH_CLASS и не PDO::FETCH_BOTH.

По умолчанию это PDO::FETCH_CLASS, и, похоже, вы как-то установили его в PDO::FETCH_BOTH.

Если это не так, покажите пример, как получить этот объект.

+0

УДИВИТЕЛЬНЫЙ !! Я только что нашел сам, что '$ me-> getFetchMode()' возвращает null и устанавливает его по умолчанию как 'PDO :: FETCH_CLASS', он отсутствовал в файле конфигурации базы данных! Но чем вы ответили и все сделали правильно! Спасибо за ответ, у меня хороший день! – CROSP

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