Arrays 如何将请求中的阵列数据保存到Laravel中的数据库?

Arrays 如何将请求中的阵列数据保存到Laravel中的数据库?,arrays,json,laravel,Arrays,Json,Laravel,我从API端点收到一个数组请求,并试图保存到数据库中,但它正在将所有数组请求正文保存到每个列表中 下面是向每个列发布的数组 s:284:"{"TransactionType":"Pay Bill","TransID":"MBL51H83P1","TransTime":"20201603457857","TransAmount":"100&

我从API端点收到一个数组请求,并试图保存到数据库中,但它正在将所有数组请求正文保存到每个列表中

下面是向每个列发布的数组

s:284:"{"TransactionType":"Pay
Bill","TransID":"MBL51H83P1","TransTime":"20201603457857","TransAmount":"100","BusinessShortCode":"600000","BillRefNumber":"EDSJH90","InvoiceNumber":"1232","OrgAccountBalance":"500","MSISDN":"254710306000","FirstName":"D","MiddleName":"TANUI","LastName":"KIP"}";
接收请求的Laravel函数

$data = json_decode($request->getContent() );
            $mydata= serialize(json_encode($data));
            $trn = new MpesaTransaction;
            $trn->TransactionType = $mydata;
            $trn->TransID = $mydata;
            $trn->TransTime = $mydata;
            $trn->TransAmount = $mydata;
            $trn->BusinessShortCode = $mydata;
            $trn->BillRefNumber = $mydata;
            $trn->InvoiceNumber = $mydata;
            $trn->OrgAccountBalance = $mydata;
            $trn->MSISDN = $mydata;
            $trn->FirstName = $mydata;
            $trn->MiddleName = $mydata;
            $trn->LastName = $mydata;
            $trn->save();

现在,如何将每个数组值保存到其各自的列中?

如果您确定响应包含表中的所有列,则只需在模型上使用
create
方法即可:

$data = json_decode($request->getContent(), true);

MpesaTransaction::unguarded(static function() use ($data) {
    MpesaTransaction::create($data);
});
否则,必须逐个设置参数:

$model = new MpesaTransaction;
$model->TransactionType = $data['TransactionType'];
// ........
$model->save();

你的代码错了。如果$request->getContent()是json,则需要对数组进行解码。您可以使用我的代码进行测试

$data = json_decode($request->getContent(),true );
$trn = new MpesaTransaction;
$trn->TransactionType = $data['TransactionType'];
$trn->TransID =  $data['TransID'];
$trn->TransTime =  $data['TransTime'];
$trn->TransAmount =  $data['TransAmount'];
$trn->BusinessShortCode =  $data['BusinessShortCode'];
$trn->BillRefNumber =  $data['BillRefNumber'];
$trn->InvoiceNumber =  $data['InvoiceNumber'];
$trn->OrgAccountBalance =  $data['OrgAccountBalance'];
$trn->MSISDN =  $data['MSISDN'];
$trn->FirstName =  $data['FirstName'];
$trn->MiddleName =  $data['MiddleName'];
$trn->LastName =  $data['LastName'];
$trn->save();