Skip to content

Commit 457a6d8

Browse files
committed
add method update Multiple Condition in HasBatch
1 parent 133e278 commit 457a6d8

File tree

2 files changed

+54
-7
lines changed

2 files changed

+54
-7
lines changed

src/Batch.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public function __construct(DatabaseManager $db)
4545
* Batch::update($userInstance, $value, $index);
4646
* ```
4747
*
48-
* @param \Illuminate\Database\Eloquent\Model $table
48+
* @param Model $table
4949
* @param array $values
5050
* @param string $index
5151
* @param bool $raw
@@ -225,10 +225,12 @@ public function updateWithTwoIndex(Model $table, array $values, string $index =
225225

226226
/**
227227
* Update multiple condition rows
228-
* @param Model $table
229-
* @param array $arrays
230-
* @param string $keyName
231-
* @param bool $raw
228+
*
229+
* @param Model $table
230+
* @param array $arrays
231+
* @param string|null $keyName
232+
* @param bool $raw
233+
*
232234
* @return bool|int
233235
* @createdBy Mohammad Ghanbari <mavin.developer@gmail.com>
234236
*
@@ -258,7 +260,6 @@ public function updateWithTwoIndex(Model $table, array $values, string $index =
258260
* ],
259261
* ];
260262
* $keyName = 'id';
261-
*
262263
*/
263264
public function updateMultipleCondition(Model $table, array $arrays, string $keyName = null, bool $raw = false)
264265
{

src/Traits/HasBatch.php

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
<?php declare(strict_types=1);
1+
<?php
2+
3+
declare(strict_types=1);
24

35
namespace Mavinoo\Batch\Traits;
46

@@ -36,13 +38,56 @@ trait HasBatch
3638
* @param array $values
3739
* @param string|null $index
3840
* @param bool $raw
41+
*
3942
* @return bool|int
4043
*/
4144
public static function batchUpdate(array $values, string $index = null, bool $raw = false)
4245
{
4346
return app(Batch::class)->update(new static, $values, $index, $raw);
4447
}
4548

49+
/**
50+
* Update multiple condition rows
51+
*
52+
* @param array $arrays
53+
* @param string|null $keyName
54+
* @param bool $raw
55+
*
56+
* @return bool|int
57+
* @createdBy Mohammad Ghanbari <mavin.developer@gmail.com>
58+
*
59+
* @desc
60+
* Example
61+
* $table = new \App\Models\User;
62+
* $arrays = [
63+
* [
64+
* 'conditions' => ['id' => 1, 'status' => 'active'],
65+
* 'columns' => [
66+
* 'status' => 'invalid'
67+
* 'nickname' => 'mohammad'
68+
* ],
69+
* ],
70+
* [
71+
* 'conditions' => ['id' => 2],
72+
* 'columns' => [
73+
* 'nickname' => 'mavinoo',
74+
* 'name' => 'mohammad',
75+
* ],
76+
* ],
77+
* [
78+
* 'conditions' => ['id' => 3],
79+
* 'columns' => [
80+
* 'nickname' => 'ali'
81+
* ],
82+
* ],
83+
* ];
84+
* $keyName = 'id';
85+
*/
86+
public function updateMultipleCondition(array $arrays, string $keyName = null, bool $raw = false)
87+
{
88+
return app(Batch::class)->updateMultipleCondition(new static, $arrays, $keyName, $raw);
89+
}
90+
4691
/**
4792
* Insert multiple rows.
4893
*
@@ -89,6 +134,7 @@ public static function batchUpdate(array $values, string $index = null, bool $ra
89134
* @param array $values
90135
* @param int $batchSize
91136
* @param bool $insertIgnore
137+
*
92138
* @return bool|array
93139
*/
94140
public static function batchInsert(array $columns, array $values, int $batchSize = 500, bool $insertIgnore = false)

0 commit comments

Comments
 (0)