Laravel 5.6 сохранение всех полей из запроса и дополнительного поля - PullRequest
0 голосов
/ 07 ноября 2018

Я сохраняю все поля запроса из моей модели с одним вкладышем в Laravel следующим образом:

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

В моей модели ImageRequest есть набор файлов, которые находятся в $ request, но есть 1 поле, которого нет в запросе, который мне нужно сохранить также в таблице.

Могу ли я сделать это в одном вкладыше или мне нужно сделать каждую заполняемую отдельно, как это:

$imageRequest = new ImageRequest;

$imageRequest->fillable1 = $request->fillable1
...
$imageRequest->fillableNotInForm = "hello";

$imageRequest->save();

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Вы также можете сделать это так:

public function upload(ImageRequest $request) 
{
    Auth::user()->imageRequests()->save($request->merge(['not_in_form' => 'value']));    
}
0 голосов
/ 07 ноября 2018

$request->all() - это просто массив. Вы можете использовать array_merge, чтобы добавить к нему.

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

С учетом сказанного, один из вкладышей трудно читать. Для удобства чтения попробуйте разбить его как минимум на 2 строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...