Dynamically hide certain columns when returning an Eloquent object as JSON?

eloquent, laravel, laravel-4

Solution

$model->getHidden();
$model->setHidden(array $columns);

$model->setVisible(array $columns);

Problem

How do dynamically hide certain columns when returning an Eloquent object as JSON? E.g. to hide the 'password' column: ``` $users = User::all(); return Response::json($users); ``` I'm aware I can set protected properties in the model ($hidden or $visible), but how do I set these dynamically? I might want to hide or show different columns in different contexts.

Original source