πŸŒ™ Π’Ρ‹ΡˆΠ΅Π» Ρ€Π΅Π»ΠΈΠ· MoonShine v.2.13.0 с ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ "Red Velvet"!πŸŒ™

Напомню, Ρ‡Ρ‚ΠΎ MoonShine это open-source Π°Π΄ΠΌΠΈΠ½-панСль для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Laravel.

Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° самоС интСрСсноС Π² этом ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ!

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎcΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ query builder Ρƒ HasMany

HasMany::make()->modifyBuilder(fn(Builder $q) => $q->where('active', 1));

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ для BelongsTo/BelongsToMany ΠΏΠΎΠ»Π΅ΠΉ

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для BelongsTo/BelongsToMany ΠΏΠΎΠ»Π΅ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ для Π½ΠΈΡ… всСгда доступСн valuesQuery ΠΈ ΠΏΡ€ΠΈ большом запросС Π²Ρ‹ смоТСтС ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΅Π³ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

BelongsTo::make( __('moonshine::ui.resource.role'), 'moonshineUserRole', formatted: static fn (MoonshineUserRole $model) => $model->name, resource: MoonShineUserRoleResource::class, ) ->valuesQuery(fn(Builder $q) => $q->select(['id', 'name']))

Обновилось полС MoonShine Layouts

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅Ρ€Π΅Π½Π΄Π΅Ρ€Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… шаблонов
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄Π΅ΠΊΠΎΡ€Π°Ρ†ΠΈΠΉ

Π•Ρ‰Π΅ ряд ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

  • Π›ΠΎΠ³ΠΎΡ‚ΠΈΠΏ Π½Π° 404 страницС Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выводится ΠΈΠ· ΠΊΠΎΠ½Ρ„ΠΈΠ³Π° ΠΈ Ссли Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ вывСсти Π½Π° 404 Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΎΡ‚ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ³ΠΎ, Ρ‚ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ logo404
  • Π˜ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ HasOne/HasMany
  • Π˜ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈ morphMap для ΠΌΠΎΡ€Ρ„ ΠΏΠΎΠ»Π΅ΠΉ
  • Π˜ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈ Π·Π°ΠΌΠ΅Π½Π΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ

Π‘Π°ΠΉΡ‚ MoonShine - https://moonshine-laravel.com

ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π΄ΠΈΡΠΊΡƒΡΡΠΈΡŽ