name; $menus = WechatMenu::when($name, function ($query) use ($name) { $query->where('name', 'like', "%{$name}%"); })->orderBy('sort', 'asc')->get(); $genMenus = WechatMenu::where('parent_id', 0)->orderBy('sort', 'asc')->get(); return view('Admin::wechat.menus', compact('menus', 'genMenus')); } /** * 发布菜单到微信 * @Author: * @Date:2018-11-15T16:05:55+0800 * @return [type] [description] */ public function publish() { $buttons = WechatMenu::getPublishArray(); $app = app('wechat.official_account'); $result = $app->menu->create($buttons); if ($result->errcode == 0) { return $this->success(); } else { return $this->error($result->errmsg); } } public function create() { $topMenus = WechatMenu::where('parent_id', 0)->get(); return view('Admin::wechat.create', compact('topMenus')); } public function store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|min:2|max:5', 'parent_id' => 'required', 'type' => 'required|in:view,click,miniprogram', 'value' => 'required', ], [ 'name.required' => '菜单名称必须填写', 'name.min' => '菜单名称最小:min位', 'name.max' => '菜单名称最大:max位', 'parent_id.required' => '上级菜单必须选择', 'type.required' => '菜单类型必须选择', 'type.in' => '菜单类型选择有误', 'value.required' => '菜单键值必须填写', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } if (WechatMenu::create($request->all())) { return $this->success('', 'close'); } else { return $this->error(); } } public function edit(WechatMenu $menu) { $topMenus = WechatMenu::where('parent_id', 0)->where('id', '<>', $menu->id)->get(); return view('Admin::wechat.edit', compact('topMenus', 'menu')); } public function update(Request $request, WechatMenu $menu) { $validator = Validator::make($request->all(), [ 'name' => 'required|min:2|max:5', 'parent_id' => 'required', 'type' => 'required|in:view,click,miniprogram', 'value' => 'required', ], [ 'name.required' => '菜单名称必须填写', 'name.min' => '菜单名称最小:min位', 'name.max' => '菜单名称最大:max位', 'parent_id.required' => '上级菜单必须选择', 'type.required' => '菜单类型必须选择', 'type.in' => '菜单类型选择有误', 'value.required' => '菜单键值必须填写', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } if ($menu->update($request->all())) { return $this->success('编辑成功', 'close'); } else { return $this->error(); } } public function destroy(WechatMenu $menu) { if ($menu->delete()) { return $this->success(); } else { return $this->error(); } } }