Aman Kumar
Aman Kumar

Reputation: 4557

Laravel Getting attributes data

I am new in laravel using Laravel 5.3. I am creating a check() function in laravel model for user login here i get all data form database useing default $this->all(); this return me a large multidymentional array .

Illuminate\Database\Eloquent\Collection Object
(
    [items:protected] => Array
        (
            [0] => App\wn_users Object
                (
                    [table:protected] => wn_users
                    [timestamps] => 
                    [fillable:protected] => Array
                        (
                            [0] => role_id
                            [1] => firstname
                            [2] => lastname
                            [3] => username
                            [4] => email
                            [5] => password
                            [6] => companyname
                            [7] => country_id
                            [8] => description
                            [9] => ip
                            [10] => update_date
                            [11] => status
                        )

                    [connection:protected] => 
                    [primaryKey:protected] => id
                    [keyType:protected] => int
                    [incrementing] => 1
                    [with:protected] => Array
                        (
                        )

                    [perPage:protected] => 15
                    [exists] => 1
                    [wasRecentlyCreated] => 
                    [attributes:protected] => Array
                        (
                            [user_id] => 1
                            [role_id] => 1
                            [firstname] => Aman kumar
                            [lastname] => --
                            [username] => Aman kumar
                            [email] => [email protected]
                            [password] => e10adc3949ba59abbe56e057f20f883e
                            [companyname] => Imax
                            [country_id] => 123
                            [description] => Testing
                            [ip] => 192.168.1.1
                            [update_date] => 2017-03-20
                            [status] => 0
                            [created_at] => 
                            [updated_at] => 
                        )

                    [original:protected] => Array
                        (
                            [user_id] => 1
                            [role_id] => 1
                            [firstname] => Aman kumar
                            [lastname] => --
                            [username] => Aman kumar
                            [email] => [email protected]
                            [password] => e10adc3949ba59abbe56e057f20f883e
                            [companyname] => Imax
                            [country_id] => 123
                            [description] => Testing
                            [ip] => 192.168.1.1
                            [update_date] => 2017-03-20
                            [status] => 0
                            [created_at] => 
                            [updated_at] => 
                        )

                    [casts:protected] => Array
                        (
                        )

                    [dates:protected] => Array
                        (
                        )

                    [dateFormat:protected] => 
                    [appends:protected] => Array
                        (
                        )

                    [events:protected] => Array
                        (
                        )

                    [observables:protected] => Array
                        (
                        )

                    [relations:protected] => Array
                        (
                        )

                    [touches:protected] => Array
                        (
                        )

                    [hidden:protected] => Array
                        (
                        )

                    [visible:protected] => Array
                        (
                        )

                    [guarded:protected] => Array
                        (
                            [0] => *
                        )

                )

        )

)

But i want to get only 'attributes:protected' Form whole array in laravel . I have already tried

echo $data = $this->getAttributes()['firstname']; but this returns error

Undefined index: firstname

Please help me to resolve my issue

Thanks in Advance for your help and time .

Upvotes: 2

Views: 2162

Answers (2)

Alex Slipknot
Alex Slipknot

Reputation: 2533

So you have a collection with properties. And you can access them just like $collection->first()->firstname Or if you want to do some operation with all items use each method:

$collection = $collection->each(function ($item, $key) {
    $item->firstname .= ' Smith';
});

Upvotes: 1

Clarence
Clarence

Reputation: 721

A very simple way:

$arr = $this->all()->toArray();

var_dump($arr); // oh~ array data!

Upvotes: 4

Related Questions