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 更新的更多相关文章

  1. laravel 更新验证

    public function update(Request $request, User $user) { // 验证规则. $rules = [ 'email' => [ 'nullable ...

  2. Laravel 更新数据时在表单请求验证中排除自己,检查指定字段唯一性

    原文地址:https://moell.cn/article/24 不错的laravel网站 需求场景 修改用户信息时,在表单请求验证中排除当前邮箱所在的记录行,并检查邮箱的唯一性. Laravel版本 ...

  3. laravel更新某一个或几个字段

    //更新会员状态status $ary_where = array(); $ary_where[] = ['id', '=', $int_id]; $result = $this->obj_ad ...

  4. laravel更新时区:

    config/app.php 'timezon'='UTC'  或 'timezone'='Asia/Shanghai'

  5. Laravel学习笔记(二)Laravel 应用程序的体系结构

    在一切环境就绪了,当然就要开始了解框架了. 站在巨人的肩膀上,学东西会事半功倍.我在网上找到一篇好文章,正好可以让我轻松了解Laravel应用程序的体系结构.因此借来直接用了. 该章节内容翻译自< ...

  6. laravel(一):如何安装laravel

    1.前提条件 本文针对想从零开始开发 Laravel 程序的初学者,不需要预先具备任何的 Laravel 使用经验.不过,为了能顺利阅读,还是需要事先安装好一些软件: PHP 5.4 及以上版本 包管 ...

  7. laravel 目录结构

    图 1.1 显示了 Laravel 项目目录结构是什么样子: 图1.1 Laravel 项目目录结构 就如你看到这样,laravel下面只包含了4个文件夹,这4个文件夹下面有一些子文件夹,这种丰富的子 ...

  8. Laravel 目录结构分析

    根目录结构 /app/bootstrap/public/vendorartisancomposer.jsonserver.php 1./app 整个Laravel 目录中最需要我们注意的地方,包含设置 ...

  9. Laravel 5.2+ 使用url()全局函数返回前一个页面的地址

    注意:文章标题中5.2+表示该文章内容可向上兼容,适用于Laravel版本5.2及更高(目前最新为5.6),但不可向下兼容,即不适用于5.2版本以下.推荐大家花一点点时间,将自己的Laravel更新至 ...

随机推荐

  1. servlet增删改查

    Servlet 使用Servlet进行增删改查 步骤 1.  导入以下几个jar包到WEB-INF下的lib包里,必要时build path,其中jstl.jar和standard.jar是使用jst ...

  2. 高性能IO之Reactor模式

    The reactor design pattern is an event handling pattern for handling service requests delivered conc ...

  3. super和this的区别

    this.:this加点指此时代表当前对象,能操作当前类里面的所有属性及方法以及父类继承而来能被访问修饰符允许的属性和方法.super.:此时指代当前对象类的父类对象部分,不能操作到本类的属性和方法, ...

  4. 用v-for进行table循环

    <table class="mytable mt10"> <template v-for="(item,index) in device_fault&q ...

  5. linux系统 户和账号操作

    1,基本操作要求 实现用户账号的管理,要完成的工作主要有如下几个方面: ·       用户账号的添加.删除与修改.·       用户口令的管理.·       用户组的管理. 2,用户账户添加删除 ...

  6. Matlab 读取 ROS bag 文件指定消息数据

    近期在接触Ros的时候遇到了一些问题,如何将rosbag中的信息提取出来进行进一步处理呢? 如三维点位置信息,视频信息(如果有的话)等等. 我采用的是MATLAB 读取bag信息 filepath=f ...

  7. mysql5.7 版本中 timestamp 不能为零日期 以及sql_mode合理设置

    ---恢复内容开始--- 摘要: mysql5.7版本相比较之前的版本有很多的特性的增加以及默认配置的改变,在使用中难免会遇到与之前的使用习惯或者项目需求不符的情况.就需要调整相应的变量的值,比如sq ...

  8. .NET中制做对象的副本(一)

    .NET中对于复杂对象制作副本比较困难,闲暇之时写了这个方法,和大家分享. 本案例用于大型对象的副本制作,常见的应用场景就是树形对象节点的拷贝,但是也有局限性,目前使用于类里有基本类型(int sti ...

  9. 【转】【Linux】Linux下统计当前文件夹下的文件个数、目录个数

    [转][Linux]Linux下统计当前文件夹下的文件个数.目录个数 统计当前文件夹下文件的个数,包括子文件夹里的 ls -lR|grep "^-"|wc -l 统计文件夹下目录的 ...

  10. 如何在 Linux 中查看进程占用的端口号【转】

    对于 Linux 系统管理员来说,清楚某个服务是否正确地绑定或监听某个端口,是至关重要的.如果你需要处理端口相关的问题,这篇文章可能会对你有用. 端口是 Linux 系统上特定进程之间逻辑连接的标识, ...