You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
824 B
PHP
34 lines
824 B
PHP
<?php
|
|
|
|
namespace App\Imports;
|
|
|
|
use App\Models\Customer;
|
|
use App\Models\CustomerPoint;
|
|
use Maatwebsite\Excel\Concerns\ToModel;
|
|
use Maatwebsite\Excel\Concerns\WithHeadingRow;
|
|
|
|
class CustomerPointsImport implements ToModel, WithHeadingRow
|
|
{
|
|
/**
|
|
* @param array $row
|
|
*
|
|
* @return \Illuminate\Database\Eloquent\Model|null
|
|
*/
|
|
public function model(array $row)
|
|
{
|
|
$customer = Customer::where('code', $row['code'])->first();
|
|
|
|
if ($customer != null) {
|
|
$customer->update([
|
|
'last_point' => $customer->last_point + $row['point']
|
|
]);
|
|
|
|
return new CustomerPoint([
|
|
'customer_id' => $customer->id,
|
|
'description' => $row['description'],
|
|
'point' => $row['point'],
|
|
]);
|
|
}
|
|
}
|
|
}
|