gpt4 book ai didi

json - 如何将 Request->all() 与 Eloquent 模型一起使用

转载 作者:行者123 更新时间:2023-12-02 08:57:05 24 4
gpt4 key购买 nike

我有一个lumen应用程序,我需要在其中存储传入的JSON请求。如果我写这样的代码:

public function store(Request $request)
{
if ($request->isJson())
{
$data = $request->all();

$transaction = new Transaction();
if (array_key_exists('amount', $data))
$transaction->amount = $data['amount'];
if (array_key_exists('typology', $data))
$transaction->typology = $data['typology'];

$result = $transaction->isValid();
if($result === TRUE )
{
$transaction->save();
return $this->response->created();
}

return $this->response->errorBadRequest($result);
}

return $this->response->errorBadRequest();
}

它工作得很好。但是在这种模式下使用 Request 很无聊,因为我必须检查每个输入字段以将它们插入到我的模型中。有没有快速的方法向模型发送请求?

最佳答案

您可以对 Eloquent 模型进行批量分配,但您需要首先在模型上设置允许批量分配的字段。在您的模型中,设置您的 $fillable 数组:

class Transaction extends Model {
protected $fillable = ['amount', 'typology'];
}

这将允许金额类型可批量分配。这意味着您可以通过接受数组的方法(例如构造函数或 fill() 方法)来分配它们。

使用构造函数的示例:

$data = $request->all();
$transaction = new Transaction($data);

$result = $transaction->isValid();

使用fill()的示例:

$data = $request->all();
$transaction = new Transaction();
$transaction->fill($data);

$result = $transaction->isValid();

关于json - 如何将 Request->all() 与 Eloquent 模型一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35630138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com