laravel-excel导入数据能否同时操作多个表?

laravel-excel 导入代码

public function model(array $row)
{
  // 这边不走orm模型事件.
    return new Customer([...]);
    // 在customer created后需要 再创建其他关联业务
    // 例如: $customer->integrals()->create([...])
}

需求

使用laravel-excel导入数据不走orm模型事件、
这边要在客户创建完之后,写入客户的操作日志,请问怎么写.

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

导入到集合,拿到数据行后按自己需求处理业务逻辑
docs.laravel-excel.com/3.1/imports...

namespace App\Imports;

use App\User;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;

class UsersImport implements ToCollection
{
    public function collection(Collection $rows)
    {
        // 处理 $rows 数据
    }
}
3年前 评论
91it (楼主) 3年前
xiaopi 3年前
91it (楼主) 3年前
讨论数量: 10

导入到集合,拿到数据行后按自己需求处理业务逻辑
docs.laravel-excel.com/3.1/imports...

namespace App\Imports;

use App\User;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;

class UsersImport implements ToCollection
{
    public function collection(Collection $rows)
    {
        // 处理 $rows 数据
    }
}
3年前 评论
91it (楼主) 3年前
xiaopi 3年前
91it (楼主) 3年前

namespace App\Imports;

use App\Group;
use App\User;
use Maatwebsite\Excel\Row;
use Maatwebsite\Excel\Concerns\OnEachRow;

class UsersImport implements OnEachRow
{
    public function onRow(Row $row)
    {
        $rowIndex = $row->getIndex();
        $row      = $row->toArray();

        $group = Group::firstOrCreate([
            'name' => $row[1],
        ]);

        $group->users()->create([
            'name' => $row[0],
        ]);
    }
}

docs.laravel-excel.com/3.1/imports...

3年前 评论
91it (楼主) 3年前
王小大 (作者) 3年前
91it (楼主) 3年前

想请教题主,处理批量操作前是否有判重逻辑?有的话想参考 我这先单个判重后,再将结果拼接sql批量插入还是很慢 :disappointed_relieved:

2年前 评论
91it (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!