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年前 加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 13
Summer

很酷的项目

7年前 评论
Summer

@Hanccc 翻译过来就是:

把你从 CRUD 中拯救出来

7年前 评论
Summer

7年前 评论
Summer

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

7年前 评论

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

7年前 评论

Update - Confirm Widget

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

file


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

7年前 评论
hellloveyy

吊大的觉得很厉害~~

7年前 评论

非常棒的项目!

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
1
粉丝
17
喜欢
23
收藏
0
排名:536
访问:1.5 万
私信
所有博文
社区赞助商