Из коробки такой возможности я не знаю. Но чисто теоретически можно:
1. Расширить Builder и Model добавив туда метод withProps по аналогии с методом with и при отдаче моделей в методе hydrate или чего еще - устраивать магию.
2. Перенести в sql через какой нибудь scope - если не сложные вычисления то select *, upper(name) as upper_name вполне норм.
3. Самое любимое
закостылировать (и здесь пойдут слайды):
В модели прописать
public function getPropAttribute(): string
{
return 'prop';
}
public function newInstance($attributes = [], $exists = false)
{
$model = parent::newInstance($attributes, $exists);
$model->setAppends($this->appends);
return $model;
}
Вызов запроса усложнится
(new \App\Models\User())->setAppends(['prop'])->newModelQuery()->get()->first()->toArray()
^ array:8 [
"id" => 2
"name" => "Алексеев Глеб Дмитриевич"
"email" => "fmarkov@example.com"
"email_verified_at" => "2022-06-16T02:18:03.000000Z"
"deleted_at" => null
"created_at" => "2022-06-16T02:18:03.000000Z"
"updated_at" => "2022-06-16T02:18:03.000000Z"
"prop" => "prop"
]
З.Ы. Однако не могу не отметить - что скорее всего вы куда то не туда свернули, может вы расскажите задачу целиком?