laravel5.2.9 - php laravel 添加 $request->all() 字段

 putongren1980 发布于 2022-11-30 10:27

php 代码

public function store(Request $request)
{
    
    $name = $request->get('namne', 0);
    
    $newname = $request->set('newname', 0);  
    
    // 前端提交 `data` 里面没有 `newname` 这个字段,
    // 需要在这里处理一些业务逻辑,新增一个字段然后到下面一起保存起来
    
    // $request->newname = 'newname' 
    // 尝试过这样好像没写进入
    
    //想在保存数据前,添加一个字段 ;
    // $request->all()->'新的字段名称' = '我是新加的字段值';
    // 这个时候 $request->all() 会多出来上面新添加的字段
    
    $post = Post::create($request->all());

}

vue 代码

this.$http.post('/backend/post', data).then(function(result) {

})

大神 有木有,该如何在保存前 在 $request->all() 里面添加一个字段呢

6 个回答
  • 常用的几个操作 input 的方法:

    // 合并输入,如果有相同的key,用户输入的值会被替换掉,否则追加到 input
    $request->merge(['foo' => 'bar', ....]);
    
    // 替换所有输入
    $request->replace([..])
    
    // 设置某参数,如果存在则替换,否则新增
    $request['foo'] = 'bar';
    
    // 移除某参数
    unset($request['foo'])
    2022-11-30 10:41 回答
  • $request->all() // 这是一个数组吧,array_merge() 是你的需求么
    
    2022-11-30 10:41 回答
  • $array = $request->all();
    $array['test'] = 'test';
    
    $post = Post::create($array);
    2022-11-30 10:41 回答
  • 用array_merge生成新数组,而不是在里面添加一个键值对,你不觉得这样更合理吗

    2022-11-30 10:41 回答
  • $request->replace(array_merge($request->all(),[
        'key'=>'val';
    ]));
    
    dd($request->all());
    2022-11-30 10:41 回答
  • 建议你看一下request的源码:
    例如:(merge方法,将一个新值合并到request中)

     /**
         * Merge new input into the current request's input array.
         *
         * @param  array  $input
         * @return void
         */
        public function merge(array $input)
        {
            $this->getInputSource()->add($input);
        }

    所以我们可以使用:

    $request->merge(['newKey' => 'newValue']);
    2022-11-30 10:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有