Laravel Lego :Save you from CRUD
Laravel Lego ,一个简单的 CRUD 工具库!
ok, talk is cheap, show you the code.
下面示例完整代码及效果见:http://lego.zhw.in
代码库见:https://github.com/zhwei/lego-demo
主要控件如下:
- Filter :列表筛选器
$filter = Lego::filter(Suite::with('street.city'));
$filter->addText('street.city.name', '城市名称');
$filter->addAutoComplete('street.name', '街道名称');
$filter->addText('address', '地址');
$filter->addSelect('type', '公寓类型')->values(Suite::listType());
$filter->addSelect('status', '公寓状态')->values(Suite::listStatus());
$filter->addDateRange('created_at', '创建时间');
- Grid :列表页
$grid = Lego::grid(Suite::class); // or Lego::grid($filter)
$grid->add('id', '操作')->pipe(function ($id) {
return link_to(route('demo', 'suite') . '?id=' . $id, '编辑');
});
$grid->add('street.city.name', '城市');
$grid->add('street.name', '街道');
$grid->add('address', '地址');
$grid->add('type', '类型');
$grid->add('status', '状态');
$grid->add('created_at|date', '创建日期');
$grid->addLeftTopButton('新建公寓', route('demo', 'suite'));
$grid->addBatch('批量删除')
->action(function (Suite $suite) {
$suite->delete();
});
$grid->addBatch('变更状态')
->form(function (Form $form) {
$form->addSelect('status')->values(Suite::listStatus())->required();
})
->action(function (Suite $suite, Form $form) {
$suite->status = $form->field('status')->getNewValue();
$suite->save();
});
- Form :表单
use App\Suite;
use Illuminate\Support\Facades\Input;
use Lego\Lego;
$street = Suite::findOrNew(Input::get('id'));
$form = Lego::form($street);
$form->addAutoComplete('street.name', '所属街道');
$form->addText('address', '公寓地址')->unique();
$form->addSelect('type', '公寓类型')->values(Suite::listType());
$form->addSelect('status', '公寓状态')
->options(array_combine(Suite::listStatus(), Suite::listStatus()));
$form->addTextarea('note', '备注');
$form->required();
// $form->required(['street.name', 'address', ...]);
$form->success(route('demo', 'suite-list'));
GitHub :https://github.com/wutongwan/laravel-lego
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由 Summer
于 7年前 加精
很酷的项目
from? form?
@Hanccc 翻译过来就是:
@Summer 配图大赞!
@zhwei 高清在这里,老牛逼了 :joy: http://gph.is/1HUuTvx
@Summer 666, 我看成了your , 还以为是 save your form curl
Update - Confirm Widget
Demo http://lego.zhw.in/demo/confirm
吊大的觉得很厉害~~
Update - Condition fields
Demo:http://lego.zhw.in/demo/condition-group
这个项目好赞哦~
完善了 Grid 的文档,用起来很酸爽哦!
https://wutongwan.github.io/laravel-lego/g...
非常棒的项目!