Laravel 5.6保存请求中的所有字段和一个额外的字段

时间:2018-11-07 08:04:49

标签: php laravel laravel-5

我正在用Laravel中的一个衬里保存模型中的所有请求字段,如下所示:

Scanner input = new Scanner(System.in);

    while (input.hasNextLine()){   // test for new input

       String znak=input.nextLine();  // get input
       if(znak.isEmpty()){      // see if empty
           break;
       }           
       System.out.println(znak);
    }

我的模型ImageRequest在$ request中有很多可填充对象,但是请求中没有1个字段,因此我也需要将其保存在表中。

我可以在一个衬里中执行此操作吗?还是需要像这样单独处理每个可填充内容:

$imageRequest = Auth::user()->imageRequests()->save(new ImageRequest($request->all()));

2 个答案:

答案 0 :(得分:0)

$request->all()只是一个数组。您可以使用array_merge添加它。

$imageRequest = Auth::user()->imageRequests()->save(new ImageRequest(array_merge($request->all(), ['index' => 'value'])));

话虽如此,但其中一个衬纸很难阅读。出于可读性考虑,请考虑将其分成至少两行。

答案 1 :(得分:0)

您也可以这样做:

public function upload(ImageRequest $request) 
{
    Auth::user()->imageRequests()->save($request->merge(['not_in_form' => 'value']));    
}