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

本帖由 Summer 于 2年前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 13
Summer

很酷的项目

2年前
Hanson

from? form?

2年前
Summer

@Hanccc 翻译过来就是:

把你从 CRUD 中拯救出来

2年前
Summer

2年前

@Summer 配图大赞!

2年前
Summer

@zhwei 高清在这里,老牛逼了 :joy: http://gph.is/1HUuTvx

2年前
Hanson

@Summer 666, 我看成了your , 还以为是 save your form curl

2年前

Update - Confirm Widget

return Lego::confirm('Are you happy ?', function () {
    return '^_^';
});

file


Demo http://lego.zhw.in/demo/confirm

2年前
hellloveyy

吊大的觉得很厉害~~

2年前

Update - Condition fields

file

file

Demo:http://lego.zhw.in/demo/condition-group

2年前

这个项目好赞哦~

2年前

完善了 Grid 的文档,用起来很酸爽哦!

https://wutongwan.github.io/laravel-lego/grid.html

2年前

非常棒的项目!

9个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!