【发布时间】:2018-11-22 22:03:43
【问题描述】:
我正在尝试使用 maatiswebsite 将 excel 文件导入数据库。为此,我使用队列,因为导入文件需要一些时间。我想向用户显示一条快速消息“正在导入您的文件。完成后我们会通知您。”但做不到。
QUEUE_DRIVER = 数据库
这是我到目前为止所做的 -
控制器 -
public function import(Request $request)
{
Excel::filter('chunk')->load($request->file('import_file')
->getRealPath())->chunk(250, function($reader)
{
ImportDistributor::dispatch(new ImportDistributor($reader->toArray()));
});
dd('your file is being imported. we will inform you once it is done.');
}
工作 -
public function handle()
{
if(isset($this->data) && !empty($this->data))
{
foreach($this->data as $data)
{
DB::table('user_details')->insert($data);
}
}
}
型号 -
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
class UserDetailsModel extends Model
{
protected $table = 'user_details';
}
我无法在 user_details 中存储数据。
【问题讨论】:
-
请分享您的模型。
-
@Deepak 显示错误
-
@LuckySaini 我更新了问题。
-
@JigneshJoisar 没有收到任何错误,它将数据存储到作业表中,但未存储在 user_details 表中。
标签: php laravel queue maatwebsite-excel