# [Usage](../../../usage.md) > [Components and standard attributes](../basics.md) > schema

---

`schema` | `->setSchema([])`

The schema array accepts other components and will add them to the component, useful for `Repeaters`, `Tabs`, `Forms`, and so on. It will override the `content` attribute if not empty.

Component schema is organized in a grid, normally of 1 column if not specified otherwise.

| Types   | Default |
|---------|---------|
| `array` | `[]`    |

Child-component list for containers (`Form`, `Repeater`, `Tabs`, `Card`, `Modal`). Renders in a `columns`-driven grid (default 1 column). When omitted (`[]`) the container is empty. Non-empty `schema` overrides `content`.
Supports Closures and nested schemas for repeaters / tabs.

### Example
Blade:
```php
{!! \KFramework\Components\Forms\Form::make()->setColumns(2)->setSchema([\KFramework\Components\Forms\Input::make()->setName('a'), \KFramework\Components\Forms\Input::make()->setName('b')]) !!}
```
Controller:
```php
Form::make()->setSchema([Input::make('first_name'), Input::make('last_name')])->setColumns(2);
```

### Interaction / tips
- Size with `columns` (../shared_attributes/columns.md); span children with `columnSpan` (../shared_attributes/column_span.md).
- Overrides `content` (../shared_attributes/content.md); footer uses `footerSchema` (../shared_attributes/footer_schema.md).
- Defer heavy trees with `lazyLoadSchema` (../shared_attributes/lazy_load_schema.md).

See also: [columns](columns.md), [columnSpan](column_span.md), [content](content.md), [footerSchema](footer_schema.md), [basics](../basics.md), [Form](../forms/form.md).