gpt4 book ai didi

php - 可以向excel导入添加多个参数吗?

转载 作者:行者123 更新时间:2023-12-04 21:11:22 24 4
gpt4 key购买 nike

我有一个包含 excel 文件上传和选择选项的基本表单。

选择包含一些选项。我想将用户选择的选项与文件一起传递给我的Excel::import

我尝试将另一个参数传递给我的导入,但它返回错误。 (必须是字符串,给定数组)

这可以使用 Laravel excel 导入吗?

Controller

public function create(Request $request)
{
if($request->hasFile('file'))
{
$package = $request->input('package');
// how can I add $package to my import to insert it to my user model?
Excel::import(new AccountsImport, $request->file('file'));

return ['message' => 'Excel has been succesfully uploaded'];
}
}

帐号导入
class AccountsImport implements ToCollection, withHeadingRow
{

public function collection(Collection $rows)
{
$rows->each(function($row, $key) {
Account::create([
'name' => $row['student'],
'email' => $row['e_mail'],
// Want it to be possible to add my package here
//'package' => $package
]);
});
}
}

最佳答案

也许您可以将自定义数据传递给您的 AccountsImport类(class)?

你会有一个这样的数据数组:

$data = [
'package' => $package,
// other data here
];

然后你会做这样的事情:
Excel::import(new AccountsImport($data), $request->file('file'));

这将需要对您的导入类进行一些更改。
class AccountsImport implements ToCollection, withHeadingRow
{
private $data;

public function __construct(array $data = [])
{
$this->data = $data;
}

public function collection(Collection $rows)
{
$rows->each(function($row, $key) {
Account::create(array_merge([
'name' => $row['student'],
'email' => $row['e_mail'],
// Want it to be possible to add my package here
//'package' => $package
], $this->data));
});
}
}

我查看了 Laravel Excel 的 API,看不到可以满足此要求的东西,但这应该可以。

关于php - 可以向excel导入添加多个参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53970190/

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