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)

如上所述,我来到这里的垃圾场。

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

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

编辑

我已将代码上传到pastebinhttp://laravel.io/bin/VP435

我根据自己的需要编辑了模型,但它不应该影响这一部分。

我现在正在努力寻找"邪恶的根源"。

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

如果不是这样,请举例说明如何获得此对象。