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