后台最常见的功能就是增删改查功能,在使用laravel-admin过程中,有一些功能的特殊显示,需要我们频繁的去查阅文档
这里呢,我就总结一下自己遇到的一些常用的,各位看官复制粘贴即可
$form->text('code', '品种代码')->rules('required');
$form->select('open_status', '允许/禁止开仓')->options(
[PositionStatus::ALLOW => '允许开仓', PositionStatus::BAN => '禁止开仓']
);
上面的PositionStatus是自己创建枚举类 方便自己维护大概的写法如下
namespace App\Enum;
/**
* 是否允许开仓
* Class SwitchStatus
* @package App\Enum
*/
class PositionStatus
{
//允许
const ALLOW = 1;
//禁止
const BAN = 2;
//是否允许开仓
const OPEN_PERMISSION = [
self::ALLOW => '允许',
self::BAN => '禁止'
];
}
$form->time('constraint_time_two', '强平时间2')->format("HH:mm");
首先要创建那个表的模型层 ,调用的过程中 一个字段用来显示到客户端 另外一个字段就用来插入当前主表的关联字段
$form->select('exchange_id', '交易所')
->options(ExchangeModel::all()->pluck('name', 'exchange_id'));
$states = [
'on' => [
'value' => PositionStatus::ALLOW,
'text' => '是',
'color' => 'primary'
],
'off' => [
'value' => PositionStatus::BAN,
'text' => '否',
'color' => 'default'
],
];
$form->switch('open_permission', '允许开仓')->states($states);
下面的confirm会进行验证
$form->password('password', '账号密码')->rules("confirmed");
这里给的默认值 是当前主表的字段值
$form->password('password_confirmation', '确认密码')->default(
function ($form) {
return $form->model()->password;
}
);
$form->ignore(['password_confirmation']);
$form->image('avatar', trans('admin.avatar'));
$form->setAction('auth/setting');
$form->hidden('risk_template_id', '风控模板Id')->value($riskTemplate->risk_template_id);
不再赘述
https://laravel-admin.org/docs/zh/model-grid-soft-deletes
也就是列表渲染数据
这里的联合了variety
以及 variety
模型关联的exchange
$grid->with(['variety','variety.exchange']);
Enable::DEL
是枚举类
$grid->model()->where('contract.enable', '<>', Enable::DEL);
$grid->column('variety.exchange.name', '交易所')->display(
function () {
return $this->variety->exchange->name ?? "无";
}
);
$grid->filter(
function (Grid\Filter $filter) {
$filter->disableIdFilter();
$filter->like('name', '代理名称');
$filter->like('code', '代理代码');
}
);
$grid->column('create_at', '创建时间')->display(
function ($time) {
return date('Y-m-d H:i:s', $time);
}
);
$grid->column('amount', '佣金金额')->totalRow()->display(
function ($amount){
return price_number('0.01',$amount);
}
);
$grid->column('type', '来源')->display(
function ($type) {
return [
UserEnum::SOURCE_ADMIN => "总管理",
UserEnum::SOURCE_AGENT => "代理"
][$type] ?? '';
}
);
$grid->column('status', '状态')->display(
function ($status) {
if ($status == AgentStatus::NO_AUDIT) {
return "未审核";
} elseif ($status == AgentStatus::AUDIT_SUCCESS) {
return "审核成功";
} elseif ($status == AgentStatus::AUDIT_FAIL) {
return "审核失败";
} else {
return '冻结';
}
}
);
$grid->column('money', '当前账号金额')->display(
function ($money) {
return number_format($money, 2);
}
)->totalRow();
基本上常用的都在这里了,如果没有想要的,才去查看文档也来得及!
觉得有用的点个赞加个关注吧!
有问题的欢迎在评论区留言!