Laravel eloquent make visible only given attribute in one instance of model

i have instance model from

$model = Model::find(1);

for example this instance always return these attribute (some is from $append):

-id
-name
-countRelation
-description
-created_at
-updated_at

what i want is to only retrive name and description from this instance;

makeVisible only work to show hidden attribute; i don't want use makeHidden because the result of find may change if on model i add new append attribute;


Since you are appending accessors limiting the SELECT statement won't stop those from being appended to the serializied output. You can use setVisible to do this though:

$model->setVisible(['name', 'description']);

Setting what is visible this way will limit the attributes, appends and relationships that are returned in the serialized output of the Model.