Report this

What is the reason for this report?

Hiding Fields When Querying Laravel Eloquent Models

Draft updated on Invalid Date
Chris on Code

By Chris on Code

Hiding Fields When Querying Laravel Eloquent Models
This tutorial is out of date and no longer maintained.

Introduction

When using Laravel’s Eloquent to get data back from our database, sometimes we don’t want to get certain information out of that call.

There are a few scenarios where this would be wanted. For instance, we don’t want to get a password (hopefully hashed) out of our database and display that to users.

To Hide an Attribute

Hiding an attribute is a simple process. All the work is done when defining your Eloquent model.

    <?php
    
    class User extends Eloquent {
    
         protected $hidden = array('password', 'token');
    
    }

Just like that, you won’t have those fields come through when accessing your Eloquent models.

    <?php
    
    Route::get('users', function() {
         return User::all()->toArray();
    });

Now the above code won’t show off our secret password or token information. You probably wouldn’t do the above code anyway, but it is just a good precaution to make sure that passwords don’t accidentally get spit out to users in any way.

Conclusion

Continue your learning with A Guide to Using Eloquent ORM in Laravel.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the author

Chris on Code
Chris on Code
Author
Category:
Tags:

Still looking for an answer?

Was this helpful?


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Creative CommonsThis work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 4.0 International License.
Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.