# 扩展方法

关于 Macros 的信息,可以查询相关的 Laravel 文档。这里直接少 CatchAdmin 通过 Macros 提供了一些额外的方法。

# Query 扩展

builder 的方法可以直接在模型中使用

# whereLike($filed, $value)

// like 查询
$model->whereLike($field, $value)

# whereGt($filed, $value)

// 大于查询
$model->whereGt($field, $value)

# whereLt($filed, $value)

// 小于查询
$model->whereLt($field, $value)

# whereGe($filed, $value)

// 大于等于查询
$model->whereGe($field, $value)

# whereLe($filed, $value)

// 小于等于查询
$model->whereLe($field, $value)

# quickSearch

// 快速查找,结合 CatchTable 使用
$model->quickSearch($field, $value)

# tree

// 模型查询为 Tree 结构
$model->tree($id, $parentIds, ...$fields)

# 集合扩展

# toTree(int $pid = 0, string $pidField = 'parent_id', string $child = 'children')

$collection->toTree(int $pid = 0, string $pidField = 'parent_id', string $child = 'children');

# export()

支持 Collection 导出到 excel 表格。

$collection->export(array $headers, bool $csv = false);

# download()

支持 Collection 导出到 excel 表格并且下载。

$collection->download(array $headers, bool $csv = false);

# migrate 扩展

提供创建migration时候的一些便捷方法

# 创建 created_at

创建的是 unix timestamp,也就是 integer 类型

$table->createdAt();

# 创建 updated_at

创建的是 unix timestamp,也就是 integer 类型

$table->updatedAt();

# 创建 deleted_at

创建的是 unix timestamp,也就是 integer 类型

$table->deletedAt();

# 创建 unix timestamp

$table->unixTimestamp($softDeleted = true);

这个方式会创建 created_at updated_atdeleted_at 三个字段.

如果不需要 deleted_at

$table->unixTimestamp(false);

# 创建人字段

$table->creatorId();

会创建类型为 integercreator_id 字段, 默认值 0

# 父级字段

$table->parentId();

会创建类型为 integerparent_id 字段 , 默认值 0

# 状态字段

$table->status($default = 1);

会创建类型为 tinyintstatus 字段, 默认值 1

# 排序字段

$table->sort($default = 1);

会创建类型为 integersort 字段 , 默认值 1