laravel 更新
public function update(Request $request, ResponseFactoryContract $response)
{
$user = $request->user();
$rules = [
'name' => ['nullable', 'string', 'username', 'display_length:2,12'],
'bio' => ['nullable', 'string'],
'sex' => ['nullable', 'numeric', 'in:0,1,2'],
'location' => ['nullable', 'string'],
'avatar' => ['nullable', 'string', 'regex:/public:(.+)/is'],
'bg' => ['nullable', 'string', 'regex:/public:(.+)/is'],
];
$messages = [
'name.string' => '用户名只能是字符串',
'name.username' => '用户名只能以非特殊字符和数字开头,不能包含特殊字符',
'name.display_length' => '用户名长度不合法',
'bio.string' => '用户简介必须是字符串',
'sex.numeric' => '发送的性别数据异常',
'sex.in' => '发送的性别数据非法',
'location.string' => '地区数据异常',
'avatar.regex' => '头像错误',
'bg.regex' => '背景图片错误',
];
$this->validate($request, $rules, $messages); $target = ($name = $request->input('name'))
? $user->newQuery()->where('name', $name)->where('id', '!=', $user->id)->first()
: null;
if ($target) {
return $response->json(['name' => ['用户名已被使用']], 422);
}
$fields = ['name', 'bio', 'sex', 'location', 'avatar', 'bg','true_name','true_name_set','company','occupation','industry','birthday','school','hometown','tagss'];
foreach ($fields as $field) {
if ($request->request->has($field)) {
$user->{$field} = $request->input($field);
}
} return $user->save()
? $response->make('', 204)
: $response->json(['message' => ['更新失败']], 500);
}
laravel 更新的更多相关文章
- laravel 更新验证
public function update(Request $request, User $user) { // 验证规则. $rules = [ 'email' => [ 'nullable ...
- Laravel 更新数据时在表单请求验证中排除自己,检查指定字段唯一性
原文地址:https://moell.cn/article/24 不错的laravel网站 需求场景 修改用户信息时,在表单请求验证中排除当前邮箱所在的记录行,并检查邮箱的唯一性. Laravel版本 ...
- laravel更新某一个或几个字段
//更新会员状态status $ary_where = array(); $ary_where[] = ['id', '=', $int_id]; $result = $this->obj_ad ...
- laravel更新时区:
config/app.php 'timezon'='UTC' 或 'timezone'='Asia/Shanghai'
- Laravel学习笔记(二)Laravel 应用程序的体系结构
在一切环境就绪了,当然就要开始了解框架了. 站在巨人的肩膀上,学东西会事半功倍.我在网上找到一篇好文章,正好可以让我轻松了解Laravel应用程序的体系结构.因此借来直接用了. 该章节内容翻译自< ...
- laravel(一):如何安装laravel
1.前提条件 本文针对想从零开始开发 Laravel 程序的初学者,不需要预先具备任何的 Laravel 使用经验.不过,为了能顺利阅读,还是需要事先安装好一些软件: PHP 5.4 及以上版本 包管 ...
- laravel 目录结构
图 1.1 显示了 Laravel 项目目录结构是什么样子: 图1.1 Laravel 项目目录结构 就如你看到这样,laravel下面只包含了4个文件夹,这4个文件夹下面有一些子文件夹,这种丰富的子 ...
- Laravel 目录结构分析
根目录结构 /app/bootstrap/public/vendorartisancomposer.jsonserver.php 1./app 整个Laravel 目录中最需要我们注意的地方,包含设置 ...
- Laravel 5.2+ 使用url()全局函数返回前一个页面的地址
注意:文章标题中5.2+表示该文章内容可向上兼容,适用于Laravel版本5.2及更高(目前最新为5.6),但不可向下兼容,即不适用于5.2版本以下.推荐大家花一点点时间,将自己的Laravel更新至 ...
随机推荐
- Python文件读写之r+/w+/a+
读模式 r 打开不存在的文件会报错.不能写:如不指定模式则默认是r 写模式 w 打开不存在的文件会,会新建一个文件:打开存在的文件会先清空后覆盖原有文件:不能读 追加模式 a 打开不存在的文件会,会新 ...
- Python 包
转载自https://www.cnblogs.com/feeland/p/4401758.html Python 包 包 定义 为了组织好模块,会将多个模块分为包.Python 处理包也是相当方便的. ...
- ieda 运行web--导入其它jar包
== 配置 或选择tomcat 1.打开IntelliJ IDEA,点击菜单的“Run”->“Edit Configurations...”,然后会打开运行设置弹框.2.在弹框中,点击左上角的“ ...
- 为何invalidate()不可以直接在UI线程中调用&invalidate与postInvalidate
1.android ui操作为什么一定要在主线程中执行? 答:Android UI操作是单线程模型,关于UI更新的相关API(包括invalidate())都是按照单线程设计的,对于多线程运行时不安全 ...
- JedisCluster
字符串 setex(key, seconds, value):带过期时间 mset(keysvalues.....):批量操作,是一个原子性(atomic)操作,所有给定key会在同一时间内被设置 h ...
- springboot整合dubbo\zookeeper做注册中心
springboot整合dubbo发布服务,zookeeper做注册中心.前期的安装zookeeper以及启动zookeeper集群就不说了. dubbo-admin-2.5.4.war:dubbo服 ...
- linux 制作U盘启动,和定制系统
找到u盘的路径 fdisk -l 将镜像写入u盘 dd if=/root/Downloads/kali-linux-2017.1-amd64.iso of=/dev/sdc 定制U盘启动系统: 安装完 ...
- Python学习笔记-数字类型
如何定义一个数字类型 定义var1为一个INT类型,所以在5/3 输出的是 1. var1 = 5 var1=var1/3 print var1 定义var1为一个INT类型,因为var1是INT类型 ...
- zookeeper安装教程
zookeeper 一.单机安装 1.1 下载 1.2 安装 1.3 配置 1.4 启动和停止 二.伪集群模式 2.1 zookeeper1配置 2.2 zookeeper2配置 2.3 zooke ...
- Shell-find . -type f -name "*.log" -print0 | xargs -0 rm -f
用 rm 删除太多的文件时候,可能得到一个错误信息:/bin/rm Argument list too long.