laravel添加角色和模糊搜索

一、添加角色

1.1 角色添加显示页面控制器方法

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('admin.role.create');
    }

在这里插入图片描述

1.2 角色添加模版

resources\views\admin\role\create.blade.php
我们采用ajax进行提交:

<!DOCTYPE HTML>
<html>

<head>
	<meta charset="utf-8">
	<meta name="renderer" content="webkit|ie-comp|ie-stand">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
	<meta http-equiv="Cache-Control" content="no-siteapp" />
	<link rel="Bookmark" href="/favicon.ico">
	<link rel="Shortcut Icon" href="/favicon.ico" />
	<link rel="stylesheet" type="text/css" href="/admin/static/h-ui/css/H-ui.min.css" />
	<link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/H-ui.admin.css" />
	<link rel="stylesheet" type="text/css" href="/admin/lib/Hui-iconfont/1.0.8/iconfont.css" />
	<link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/skin/default/skin.css" id="skin" />
	<link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/style.css" />

	<title>添加角色</title>
</head>

<body>
	<article class="page-container">
		<!-- 表单验证 -->
		@include('admin.common.validate')
		<form action="{{route('admin.role.store')}}" method="post" class="form form-horizontal" id="form-member-add">
			@csrf
			<div class="row cl">
				<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>角色名:</label>
				<div class="formControls col-xs-8 col-sm-9">
					<input type="text" class="input-text" placeholder="角色名" id="name" name="name">
				</div>
			</div>
			<div class="row cl">
				<div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
					<input class="btn btn-primary radius" type="submit" value="&nbsp;&nbsp;添加&nbsp;&nbsp;">
				</div>
			</div>
		</form>
	</article>

	<!--_footer 作为公共模版分离出去-->
	<script type="text/javascript" src="/admin/lib/jquery/1.9.1/jquery.min.js"></script>
	<script type="text/javascript" src="/admin/lib/layer/2.4/layer.js"></script>
	<script type="text/javascript" src="/admin/static/h-ui/js/H-ui.min.js"></script>
	<script type="text/javascript" src="/admin/static/h-ui.admin/js/H-ui.admin.js"></script>
	<!--/_footer 作为公共模版分离出去-->

	<!--请在下方写此页面业务相关的脚本-->
	<script type="text/javascript" src="/admin/lib/My97DatePicker/4.8/WdatePicker.js"></script>
	<script type="text/javascript" src="/admin/lib/jquery.validation/1.14.0/jquery.validate.js"></script>
	<script type="text/javascript" src="/admin/lib/jquery.validation/1.14.0/validate-methods.js"></script>
	<script type="text/javascript" src="/admin/lib/jquery.validation/1.14.0/messages_zh.js"></script>
</body>

</html>
<script type="text/javascript">
// 采用ajax 进行提交
	$(function() {

		$("#form-member-add").validate({
			// rules: {
			// 	name: {
			// 		required: true,
			// 	}

			// },
			onkeyup: false,
			focusCleanup: true,
			success: "valid",
			submitHandler: function(form) {
				let url = $(form).attr('action');
				// 表单序列化
				let data = $(form).serialize();
				// console.log(action, data)
				$.post(url, data).then((res) => {
					console.log(res);
					if (res.status == 20002) {
						layer.msg(res.msg, {icon: 2, time: 2000});
					}
					else if (res.status == 1) {
						layer.msg(res.msg, {icon: 1, time: 2000},() => {
							location.href = "{{route('admin.role.index')}}";
						})
					}
				})
			}

		});

	});
</script>

效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3 角色添加逻辑控制器

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        // 异常处理
        try {
            // 后台验证
            $this -> validate($request, [
                'name' => 'required|unique:roles,name'
            ]);
        }
        catch (Exception $e) {
            return ['status' => 20002, 'msg' => '验证不通过!'];
        }
        // 入库
        Role::create($request -> only('name'));
        return ['status' => 1, 'msg' => '添加角色成功!'];

        // Role::create($data);
        // // 跳转到列表页
        // return redirect(route('admin.role.index')) -> with('success', '添加角色成功');
    }

在这里插入图片描述

二、角色搜索功能

修改index控制器方法:

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        // 获取搜索框 分页
        $kw = $request -> get('kw', '');
        $data = Role::when($kw, function ($query) use($kw) {
            $query->where('name', 'like', "%{$kw}%");
        }) -> paginate($this->pagesize);
        // dump($data);
        return view('admin.role.index', compact('data', 'kw'));
    }

在这里插入图片描述

效果:
在这里插入图片描述

总结:
when(keywords, callback)有两个参数:参数1如果变量存在,则执行我们的回调函数。

在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你华还是你华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值