添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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

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() 里面添加一个字段呢

阅读 12.1k
6 个回答
得票 最新
头像
ElfSundae
1.4k 2 1 10

常用的几个操作 input 的方法:

// 合并输入,如果有相同的key,用户输入的值会被替换掉,否则追加到 input
$request->merge(['foo' => 'bar', ....]);
// 替换所有输入
$request->replace([..])
// 设置某参数,如果存在则替换,否则新增
$request['foo'] = 'bar';
// 移除某参数
unset($request['foo'])
头像
JellyBool
16.2k 12 51 65
$request->all() // 这是一个数组吧,array_merge() 是你的需求么
$array = $request->all();
$array['test'] = 'test';
$post = Post::create($array);

建议你看一下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);

所以我们可以使用: