# resolveLaravelSchema

**Kind:** Function

**Source:** [`atloria-monorepo/libs/parser-core/src/techdocs/cross-file-routes.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/libs/parser-core/src/techdocs/cross-file-routes.ts#L620)

Fold Laravel's migration history into one table shape, then apply what the model says.

A table is created once and altered many times across separate files, so the create
migration alone under-reports the columns. Alterations are applied in migration filename
order — the timestamp prefix makes lexicographic order chronological, which is exactly the
order the framework runs them in.

The Eloquent model then has the last word on PRESENTATION: `$casts` states the type a
column is handed back as (a `text` column cast to `array` is an array to every caller), and
`$hidden` names columns that are never serialized — documenting `password` as a response
field is not a small error.

## Signature

```ts
function resolveLaravelSchema(entities: Entity[]): number
```

## Parameters

| Name | Type |
|---|---|
| `entities` | `Entity[]` |

**Returns:** `number`
