---
url: /kanban/swimlanes.md
description: >-
  Group a Kanban board into rows by owner or any relationship. Drag across rows
  to reassign.
---

# Swimlanes

```php
->swimlanes(Member::class)
```

The foreign key is inferred from `Task::member()`. Set it when it isn't:

```php
->swimlaneAttribute('owner_id')
```

* Dragging across rows reassigns the card.
* Cards without a lane collect in an **Unassigned** row.
* People can hide lanes, isolate one with **Only**, collapse rows, or switch lanes off with **Display → No grouping**.

![Board without grouping](/images/board-flat.png)
