Laravel Eloquent 模型中的模型重复键

Laravel Eloquent model duplicate keys in model

我想不通是什么问题,我不记得它是什么时候第一次出现的,现在问题不大,但它会浪费连接,这不是移动通信的最后一点。 问题如下。

这是模型的输出,这样的输出适用于任何模型,我的意思是它用索引复制每个关联值。

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)

我按照上面的描述来到这里转储。

我不知道什么会导致这种行为。

也许有人知道是什么导致了这样的问题。 谢谢大家。

编辑

我已经将代码上传到 pastebin http://laravel.io/bin/VP435

我根据需要编辑了模型,但这应该不会影响这部分。

我正在努力寻找 "root of evil"。

hybrate 方法被 Builder

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

这是对数据库的查询 $results = $this->query->get($columns);

查询如下

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

这是正确的请求,没问题

请确保您在 config/database.php 中将 fetch 设置为 PDO::FETCH_CLASS 而不是 PDO::FETCH_BOTH

默认情况下它是 PDO::FETCH_CLASS 并且您似乎以某种方式将其设置为 PDO::FETCH_BOTH.

如果不是这种情况,请举例说明您是如何获得该对象的。