Skip to content

Commit f3a797b

Browse files
authored
Merge pull request #23 from rubentebogt/add-multiple
Add multiple
2 parents e48834c + a0f9e40 commit f3a797b

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

src/Picqer/Carriers/SendCloud/Parcel.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class Parcel extends Model
3131
{
3232
use Query\Findable;
3333
use Persistance\Storable;
34+
use Persistance\Multiple;
3435

3536
protected $fillable = [
3637
'id',
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
namespace Picqer\Carriers\SendCloud\Persistance;
4+
5+
use Picqer\Carriers\SendCloud\Connection;
6+
7+
/**
8+
* Trait Multiple
9+
*
10+
* @method Connection connection()
11+
*
12+
* @package Picqer\Carriers\SendCloud\Persistance
13+
*/
14+
trait Multiple
15+
{
16+
public function saveMultiple(array $models)
17+
{
18+
$resultModels = [];
19+
$results = $this->insertMultiple($models);
20+
foreach ($results[$this->namespaces['plural']] as $result)
21+
{
22+
$resultModels[] = new static($this->connection(), $result);
23+
}
24+
return $resultModels;
25+
}
26+
27+
public function insertMultiple(array $models)
28+
{
29+
$json = [];
30+
$json[$this->namespaces['plural']] = [];
31+
foreach ($models as $model)
32+
{
33+
$json[$this->namespaces['plural']][] = $model->attributes();
34+
}
35+
36+
return $this->connection()->post($this->url, json_encode($json));
37+
}
38+
}

0 commit comments

Comments
 (0)