yabhq/laravel-mint 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

yabhq/laravel-mint

最新稳定版本:v1.3

Composer 安装命令:

composer require yabhq/laravel-mint

包简介

A collection of traits, macros and other helpers to keep your Laravel app feeling fresh.

README 文档

README

Latest Version on Packagist

Mint for Laravel

A collection of traits, macros and other helpers to keep your Laravel app feeling fresh.

Installation

composer require yabhq/laravel-mint 

Archivable

Allow for models to be archived or unarchived based on an "archived_at" field on the database table. A global scope automatically excludes archived records when querying your model.

use Yab\Mint\Traits\Archivable; class Example extends Model { use Archivable; }
$example->archive(); $example->unarchive(); Example::query(); // Will exclude archived items... Example::withArchived(); // With archived items included...

Immutable

Models which are marked as "immutable" will throw an ImmutableDataException if updated or deleted (but not created).

use Yab\Mint\Traits\Immutable; class Example extends Model { use Immutable; }
// No problem $example = Example::create([ 'field' => 'value' ]); // Throws an exception... $example->update([ 'field' => 'updated' ]);

You can also customize the conditions under which a model is immutable by overriding the isImmutable() function on your model:

public function isImmutable() { return $this->status === 'closed'; }

UUID Models

Easily use UUIDs for your model's primary key by leveraging the UuidModel trait:

use Yab\Mint\Traits\UuidModel; class Example extends Model { use UuidModel; }

If you would like to customize the name of the UUID column, simply add the getUuidColumnName function in your model class:

public static function getUuidColumnName(): string { return 'my_column_name'; }

Money Cast

A custom cast for storing monetary values as cents in the database while fetching them as decimal values.

use Yab\Mint\Casts\Money; class Example extends Model { protected $casts = [ 'price' => Money::class, ]; }

Slugify

Create slugs that are unique and never collide with each other.

use Yab\Mint\Trails\Slugify; class Example extends Model { use Slugify; }

By default the Slugify trait uses the name property on your model. You can change this behaviour by overriding the getSlugKeyName method on your model.

public static function getSlugKeyName(): string { return 'title'; }

Avatars

The HasAvatar trait allows you to easily support avatars for your users. It even has a built-in Gravatar fallback!

use Yab\Mint\Trails\HasAvatar; class User extends Model { use HasAvatar; }

You can customize the database field used to retrieve the profile images:

public function getAvatarField() : string { return 'profile_picture'; }

It is also possible to determine which field is used for the Gravatar email address:

public function getEmailField(): string { return 'email'; }

统计信息

  • 总下载量: 25.6k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 8
  • 点击次数: 3
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 8
  • Watchers: 0
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固