Laravel eloquent 型号:return 只有列名

Laravel eloquent model: return only column names

我有一个基本的 eloquent 模型。当我使用查询构建器获取模型时,例如:

$User = User::whereUser_login('test')->first();

然后我用

$User->toArray();

我两次获取具有相同数据的数组。首先将数据设置为数字键,然后设置为列名,如:

"0": 1037,
"1": "test",
"2": "$P$B.k90STXa.ugL6KjdYhPqO/WTYJRjU/",
"ID": test,
"user_login": "test"

我只想要列名关联。问题是我在隐藏密码列的模型中有一个 $hidden 属性,它工作正常,因为它没有返回密码列,但我仍然有设置密码的 2 键。

谢谢。

我想 PDO fetch style 当前设置为 FETCH_BOTH

PDO::FETCH_BOTH (default): returns an array indexed by both column name and 0-indexed column number as returned in your result set

确保 fetch 设置在您的应用程序 config/database.php 中并设置为 PDO::FETCH_CLASS

<?php

return [

    'fetch' => PDO::FETCH_CLASS,
...
]