我可以使用group id
使用save function
将产品保存到我的论坛中
但现在我想用excel文件做到这一点。我遇到了如何做到这一点的问题。任何帮助将不胜感激。谢谢。
控制器
public function save($id, Request $request)
{
$group = Group::whereId($id)->firstorFail();
$product = new Product(array(
'name' => $request->get('name'),
'price' => $request->get('price'),
));
$group->products()->save($product);
}
public function import($id, Request $request)
{
$group = Group::whereId($id)->firstorFail();
if($request->file('imported-file'))
{
$path = $request->file('imported-file')->getRealPath();
$data = Excel::load($path, function($reader)
{
})->get();
if(!empty($data) && $data->count())
{
foreach ($data->toArray() as $row)
{
if(!empty($row))
{
$dataArray[] =
[
'name' => $row['name'],
'price' => $row['price'],
];
}
}
if(!empty($dataArray))
{
Item::insert($dataArray);
}
}
}
}
路线
Route::post('import/{id?}', 'ItemController@import');
产品型号 的产品
public function groups()
{
return $this->belongsToMany('App\Group','group_product','product_id','group_id')
->withTimestamps();
}
小组模型
组
public function products()
{
return $this->belongsToMany('App\Product','group_product','group_id','product_id')
}
答案 0 :(得分:0)
你需要saveMany
package com.example.adityaprakash.test;
public class MqttExampleOptions {
String projectId;
String registryId;
String deviceId;
String privateKeyFile;
String algorithm;
String cloudRegion;
int numMessages;
String mqttBridgeHostname;
short mqttBridgePort;
String messageType;
/** Construct an MqttExampleOptions class. */
public static MqttExampleOptions values() {
try {
MqttExampleOptions res = new MqttExampleOptions();
res.projectId = "_";
res.registryId = "_";
res.deviceId = "_";
res.privateKeyFile = "com/example/adityaprakash/test/rsa_private.pem";
res.algorithm = "RS256";
res.cloudRegion = "asia-east1";
res.numMessages = 100;
res.mqttBridgeHostname = "mqtt.googleapis.com";
res.mqttBridgePort = 8883;
res.messageType = "event";
return res;
} catch (Exception e) {
System.err.println(e.getMessage());
return null;
}
}
}