How to return array instead of object in laravel 5

Viewed 11708

I have use in model .

$data = DB::select('select * from users');
return $data;

But in controller I have got like this.

Array
(
    [0] => stdClass Object
        (
            [Id] => 10
            [Name] => Sachin
            [Gender] => M
        )

    [1] => stdClass Object
        (
            [Id] => 12
            [Name] => Sourav
            [Gender] => M
        )
)

But I want Like this

Array
    (
        [0] => Array
            (
                [Id] => 10
                [Name] => Sachin
                [Gender] => M
            )

        [1] => Array
            (
                [Id] => 12
                [Name] => Sourav
                [Gender] => M
            )
    )

I already tried using get() and toArray() but its giving call to unknown member function. Anyone have an idea how to resolved this issue.

3 Answers

If you just need to get raw nested arrays of data, without using Eloquent:

$data = DB::connection()->getPdo()
    ->query("SELECT * FROM users")
    ->fetchAll(\PDO::FETCH_ASSOC);

This should be much more efficient than the current accepted answer.

Related