> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# 2026 年 6 月 Laravel 更新

> 2026 年 6 月的 Laravel 生态更新。Bus::bulk()、Postgres 事务池支持、MCP 客户端/服务器、artisan dev 命令、路由元数据等。

2026 年 6 月,Laravel Cloud 开始支持 Symfony 应用,Forge 新增了托管 Valkey 缓存和对象存储。框架层面也带来了批量作业派发、Postgres 连接池支持、MCP 客户端/服务器等丰富的更新。

参考出处:[Laravel June Product Updates](https://laravel.com/blog/laravel-june-product-updates)

***

## Laravel Framework

### Bus::bulk() — 批量作业派发

大量作业现在可以通过一次数据库 INSERT 完成登记。按每个队列/连接分别执行批量 INSERT,省去了逐条 INSERT 的开销。

```php theme={null}
use Illuminate\Support\Facades\Bus;

Bus::bulk([
    new ProcessOrder($order1),
    new ProcessOrder($order2),
    new ProcessOrder($order3),
    // 数千条也很高效
]);
```

### Postgres 事务池支持

框架层面支持了 PgBouncer、AWS RDS Proxy、Neon 等事务模式的 Postgres 连接池。

```php theme={null}
// config/database.php
'pgsql' => [
    'driver' => 'pgsql',
    'pooled' => true,  // 声明经过连接池的连接
    // ...
],
```

<Info>
  对于需要直连的场景(如模式操作或 DDL 语句),可以在连接名后加 `::direct` 来绕过连接池。
  `DB::connection('pgsql::direct')->statement('CREATE INDEX ...')`
</Info>

框架会自动处理 emulated prepares、boolean binding 以及连接池所需的其他所有处理。

### MCP 客户端 / 服务器工具支持

Laravel AI 智能体现在可以使用远程 MCP 服务器(通过 HTTP)以及本地 MCP 服务器类的工具。Schema 转换、封装、调用都会自动处理。

```php theme={null}
class MyAgent extends Agent
{
    public function tools(): array
    {
        return [
            // 使用远程 MCP 服务器的工具
            McpClient::tools('https://mcp.example.com'),
            // 使用本地 MCP 服务器的工具
            McpServer::tools(MyMcpServer::class),
        ];
    }
}
```

### artisan dev 命令

新增 `artisan dev`,一条命令启动所有开发进程。服务器、队列 Worker、日志 tail、Vite 会以带颜色的输出并行运行。

```bash theme={null}
php artisan dev
```

```php theme={null}
// 在服务提供者中注册额外命令
use Illuminate\Foundation\Console\DevCommands;

DevCommands::artisan('reverb:start', 'reverb')->orange();
DevCommands::register('stripe listen --forward-to ' . config('app.url'))->green();
```

<Tip>
  会自动检测 Node.js 包管理器(npm、yarn、pnpm、bun)。这是 Artisan 官方约定,用于替代以往的 `composer dev` 脚本。
</Tip>

### 路由元数据支持

新增 `->metadata()` 方法,可以为路由附加任意元数据。它与路由缓存完全兼容,组上设置的元数据会合并到子路由上。

```php theme={null}
Route::metadata(['head' => ['robots' => ['noindex'], 'author' => 'Taylor']])
    ->group(function () {
        Route::get('/users', [UserController::class, 'index'])
            ->metadata(['head' => ['title' => 'Users']]);
    });

// 从控制器或中间件访问
$request->route()->getMetadata('head.title');          // 'Users'
$request->route()->getMetadata('head.author', 'Taylor'); // 'Taylor'
```

### 不重试的异常处理

对于重试也没有意义的异常(错误输入、永久性外部故障等),现在可以阻止重试。

```php theme={null}
// 直接在异常类中定义
class InvalidInputException extends RuntimeException
{
    public function retry(): bool
    {
        return false;
    }
}

// 也可以在 bootstrap/app.php 中配置
->withExceptions(function (Exceptions $exceptions) {
    $exceptions->dontRetry(InvalidInputException::class);
})
```

### schema:dump 的 --without-migration-data 标志

`schema:dump` 现在可以生成不含迁移表数据行的纯结构快照。

```bash theme={null}
php artisan schema:dump --without-migration-data
```

### between()/unlessBetween() 的时区修复

无论 `timezone()` 是在 `between()` 或 `unlessBetween()` 之前还是之后调用,调度都能以正确的时区运行。

```php theme={null}
// 两种写法行为一致(以前先写 between 会导致按 UTC 处理的问题)
$schedule->command('foo')->timezone('Europe/Rome')->between('10:00', '12:00');
$schedule->command('foo')->between('10:00', '12:00')->timezone('Europe/Rome');
```

### 其他框架变更

* **`Bus::bulk()` 支持 Trait**:可以在 Trait 中定义队列属性
* **MariaDB 向量索引**:MariaDB 支持向量索引
* **`attachFromStorage()` helper**:通知的 `MailMessage` 可以从存储中附加文件
* **`Cache::rememberWithState()`**:支持带状态的缓存
* **并行测试用的维护模式驱动**:`array` 驱动让每个进程持有独立的维护状态
* **`whenFilledEnum()`**:支持基于 Enum 的字段条件处理
* **JSON Schema 的 anyOf 支持**:验证时可使用 JSON Schema 的 `anyOf`

***

## Inertia

* **`Client\Request::uri()`**:获取客户端请求的 URI
* **锚点的 `target` 属性支持**:`<Link>` 组件支持 `target="_blank"` 等
* **表单的 `async` 选项**:表单组件支持异步提交
* **`titleCallback` 得到页面信息**:标题回调会拿到页面数据

***

## Laravel Cloud / Laravel Forge

| 产品                | 主要更新                                                                                                |
| ----------------- | --------------------------------------------------------------------------------------------------- |
| **Laravel Cloud** | 完整支持 Symfony 应用(Symfony 7.4 LTS / 8.x,PHP 8.2\~8.5),支持从 Stripe Projects 部署与付款,可按团队成员配置 Slack / 邮件通知 |
| **Laravel Forge** | 托管 Valkey 缓存(可从面板创建与管理)、托管对象存储、通知邮件重设计                                                              |


## Related topics

- [2026 年 3 月 Laravel 更新](/zh/blog/changelog/202603.md)
- [2026 年 4 月 Laravel 更新](/zh/blog/changelog/202604.md)
- [2026 年 5 月 Laravel 更新](/zh/blog/changelog/202605.md)
- [Laravel 新代码分析生态 — surveyor / ranger / roster](/zh/blog/laravel-ecosystem-analysis.md)
- [Laravel 13 新功能汇总](/zh/blog/laravel-13-new-features.md)
