Laravel 5 如何在laravel 5中返回数组而不是对象
我在模型中使用过Laravel 5 如何在laravel 5中返回数组而不是对象,laravel-5,sql-server-2014,Laravel 5,Sql Server 2014,我在模型中使用过 $data = DB::select('select * from users'); return $data; 但在控制器中,我得到了这样的结果 Array ( [0] => stdClass Object ( [Id] => 10 [Name] => Sachin [Gender] => M ) [1] => stdCla
$data = DB::select('select * from users');
return $data;
但在控制器中,我得到了这样的结果
Array
(
[0] => stdClass Object
(
[Id] => 10
[Name] => Sachin
[Gender] => M
)
[1] => stdClass Object
(
[Id] => 12
[Name] => Sourav
[Gender] => M
)
)
但是我想要这样
Array
(
[0] => Array
(
[Id] => 10
[Name] => Sachin
[Gender] => M
)
[1] => Array
(
[Id] => 12
[Name] => Sourav
[Gender] => M
)
)
我已经尝试使用get()和toArray(),但它调用了未知成员函数。
任何人都知道如何解决这个问题。toArray是一个雄辩的模型方法,因此您需要一个雄辩的模型,请尝试以下方法:
User::all()->toArray();
您只需使用laravel标准功能即可
public function testData(){
$data = YOUR_MODEL_NAME::all()->toArray();
echo "<pre>";print_r($data);
}
我希望它对您有用。如果您只需要获取原始嵌套数据数组,而不需要使用雄辩的:
这应该比目前公认的答案效率更高。我知道它可以使用eloquent,但我无法在我的情况下使用eloquent。因此,如果您知道如何使用DB::selectSo,请进行回答。因此,您希望它不使用eloquent?您将始终通过原始查询?是的,我有行查询。如
DB::select('my query')
请检查我的更新答案,这对您有用吗?这只返回一个模型数组。我猜Raj想要的是一个数组。toArray()仅将集合更改为数组。
public function testData(){
$data = DB::select('select * from users');
$data = collect($data)->map(function($x){ return (array) $x; })->toArray();
echo "<pre>";print_r($data);
}
Array
(
[0] => Array
(
[email] => bmc-admin@gmail.com
[member_code] => BMC0001ADMIN
)
[1] => Array
(
[email] => bmc-analyst@gmail.com
[member_code] => BMC0003ADMIN
)
[2] => Array
(
[email] => bmc-product-manager@gmail.com
[member_code] => BMC0002ADMIN
)
)
Array
(
[0] => Array
(
[id] => 1
[drewry_user_id] => 1
[email] => bmc-admin@gmail.com
[name] => BMC Administrator
[mobile] =>
[member_name] => BMC-Admin
[member_code] => BMC0001ADMIN
[shipper_size] => Large
[fk_role_id] => 1
[fk_country_id] =>
[timezone] => Asia/Kolkata
[status] => 1
[created_at] =>
[created_by] =>
[updated_at] => 2017-07-12 04:56:31
[updated_by] =>
[deleted_at] =>
)
[1] => Array
(
[id] => 6
[drewry_user_id] => 3
[email] => bmc-analyst@gmail.com
[name] => BMC Analyst
[mobile] =>
[member_name] => BMC-Analyst
[member_code] => BMC0003ADMIN
[shipper_size] => Large
[fk_role_id] => 3
[fk_country_id] =>
[timezone] => Asia/Kolkata
[status] => 1
[created_at] =>
[created_by] =>
[updated_at] => 2017-07-26 10:55:41
[updated_by] =>
[deleted_at] =>
)
[2] => Array
(
[id] => 9
[drewry_user_id] => 2
[email] => bmc-product-manager@gmail.com
[name] => BMC Product Manager
[mobile] =>
[member_name] => BMC-Product-Manager
[member_code] => BMC0002ADMIN
[shipper_size] => Large
[fk_role_id] => 2
[fk_country_id] =>
[timezone] => Asia/Kolkata
[status] => 1
[created_at] =>
[created_by] =>
[updated_at] => 2017-07-14 09:09:10
[updated_by] =>
[deleted_at] =>
)
[3] => Array
(
[id] => 19
[drewry_user_id] => 4
[email] => bmc-customer1@gmail.com
[name] => User 1
[mobile] =>
[member_name] => User-1
[member_code] => BMC0004CUSTOMER1
[shipper_size] => Large
[fk_role_id] => 4
[fk_country_id] =>
[timezone] => Asia/Kolkata
[status] => 1
[created_at] =>
[created_by] =>
[updated_at] => 2017-07-27 11:31:20
[updated_by] =>
[deleted_at] =>
)
[4] => Array
(
[id] => 20
[drewry_user_id] => 5
[email] => bmc-customer2@gmail.com
[name] => User 2
[mobile] =>
[member_name] => User-2
[member_code] => BMC0004CUSTOMER2
[shipper_size] => Large
[fk_role_id] => 4
[fk_country_id] =>
[timezone] => Asia/Kolkata
[status] => 1
[created_at] =>
[created_by] =>
[updated_at] => 2017-07-18 06:34:08
[updated_by] =>
[deleted_at] =>
)
[5] => Array
(
[id] => 21
[drewry_user_id] => 6
[email] => bmc-customer3@gmail.com
[name] => User 3
[mobile] =>
[member_name] => User-3
[member_code] => BMC0004CUSTOMER3
[shipper_size] => Large
[fk_role_id] => 4
[fk_country_id] =>
[timezone] => Asia/Kolkata
[status] => 1
[created_at] =>
[created_by] =>
[updated_at] => 2017-07-18 06:35:25
[updated_by] =>
[deleted_at] =>
)
[6] => Array
(
[id] => 22
[drewry_user_id] => 7
[email] => bmc-customer4@gmail.com
[name] => User 4
[mobile] =>
[member_name] => User-4
[member_code] => BMC0004CUSTOMER4
[shipper_size] => Large
[fk_role_id] => 4
[fk_country_id] =>
[timezone] => Asia/Kolkata
[status] => 1
[created_at] =>
[created_by] =>
[updated_at] => 2017-07-18 06:35:54
[updated_by] =>
[deleted_at] =>
)
[7] => Array
(
[id] => 23
[drewry_user_id] => 8
[email] => bmc-customer5@gmail.com
[name] => User 5
[mobile] =>
[member_name] => User-5
[member_code] => BMC0004CUSTOMER5
[shipper_size] => Large
[fk_role_id] => 4
[fk_country_id] =>
[timezone] => Asia/Kolkata
[status] => 1
[created_at] =>
[created_by] =>
[updated_at] => 2017-07-25 15:35:46
[updated_by] =>
[deleted_at] =>
)
)
$data = DB::connection()->getPdo()
->query("SELECT * FROM users")
->fetchAll(\PDO::FETCH_ASSOC);