[Laravel] 6.6.0がリリースされました

laravel/frameworkのバージョン6.6.0がリリースされました。追加された機能について確認します。

データベースを使用するバリデーションのテーブル名にモデルクラスを指定可能になりました (#30653)

existsuniqueといったバリデーションルールの引数へModelクラスの完全修飾名を文字列で指定します。

初期化時に内部ではテーブル名を取得するgetTable()メソッドが呼ばれています。

// before
$request->validate([
      'user_id' => 'required|unique:users,id'
])

// after
$request->validate([
      'user_id' => 'required|unique:'.User::class.',id'
])

ResponseFactory::view()メソッドの第一引数に配列を渡した時にファーストビューが返却されるようになりました (#30651)

以前からあったview()->first()メソッドがデフォルトに組み込まれました。

配列の先頭から順番に評価され、はじめに存在するviewファイルが返却されます。

return response()->view(['my/view1', 'my/view2'], ['data'], 404, ['headers']);

明示的に行う場合はviewFirst()メソッドを指定してください。

return response()->viewFirst(['my/view1', 'my/view2'], ['data'], 404, ['headers']);

Foundation\Testing\Concerns\InteractsWithDatabase::assertDeleted()メソッドが追加されました (#30648)

データベースに存在しない事を確認するテストが容易になりました。

既存のassertSoftDeleted()メソッドと同じように使用できます。

// before
$this->assertDatabaseMissing('posts', [
    'id' => $post->id
]);

// after
$this->assertDeleted($post);

Illuminate\Routing\Router::head()メソッドが追加されました (#30646)

HEAD型のHTTPメソッドを追加可能になりました。

BelongsToManyクラスにwherePivotNotIn()orWherePivotNotIn()メソッドが追加されました (#30671)

SqlServerConnectorクラスにデータを暗号化するオプションが追加されました (#30636)

Azure Key Vaultでデータを暗号化する以下のオプションが追加されました。

  • ColumnEncryption
  • KeyStoreAuthentication
  • KeyStorePrincipalId
  • KeyStoreSecret

詳しい変更については以下を確認してください。

Release v6.6.0 · laravel/framework · GitHub

© Xzxzyzyz