在 Laravel 中传递额外的字段来创建模型

问题描述 投票:0回答:1

你好,

在清理我的控制器类时,我想知道在创建模型时在哪里放置额外的字段。在

StoreAdvertisementRequest
类中应用了一些验证规则。 接下来,我还想确保新广告与
user_id
和某个
status_id
字段耦合。

但是如何与

make:request
请求和方法
$request->validated()
结合使用。

有办法把它们偷偷放进去吗?

public function store(StoreAdvertisementRequest $request): RedirectResponse
{
    // pass these in...
    $validated['user_id'] = Auth::id();
    $validated['status_id'] = AdvertisementStatus::WAITING_FOR_PROPOSAL;

    $advertisement = Advertisement::create($request->validated());
php laravel controller
1个回答
0
投票

只需合并数组

$additionalFields = [
    'user_id' => Auth::id(), 
    'status_id' => AdvertisementStatus::WAITING_FOR_PROPOSAL,
];

$advertisement = Advertisement::create(array_merge($request->validated(), $additionalFields));
© www.soinside.com 2019 - 2024. All rights reserved.