@@ -1052,6 +1052,42 @@ public function testIncrement()
10521052 $ this ->assertEquals (1 , $ user ->age );
10531053 }
10541054
1055+ public function testMultiply ()
1056+ {
1057+ DB ::table ('users ' )->insert ([
1058+ ['name ' => 'John Doe ' , 'salary ' => 3000 , 'note ' => 'adult ' ],
1059+ ['name ' => 'Jane Doe ' , 'salary ' => 1000 , 'note ' => 'minor ' ],
1060+ ['name ' => 'Robert Roe ' , 'salary ' => null ],
1061+ ['name ' => 'Mark Moe ' ],
1062+ ]);
1063+
1064+ $ user = DB ::table ('users ' )->where ('name ' , 'John Doe ' )->first ();
1065+ $ this ->assertEquals (3000 , $ user ->salary );
1066+
1067+ DB ::table ('users ' )->where ('name ' , 'John Doe ' )->multiply ('salary ' );
1068+ $ user = DB ::table ('users ' )->where ('name ' , 'John Doe ' )->first ();
1069+ $ this ->assertEquals (3000 , $ user ->salary );
1070+
1071+ DB ::table ('users ' )->where ('name ' , 'John Doe ' )->multiply ('salary ' , 2 );
1072+ $ user = DB ::table ('users ' )->where ('name ' , 'John Doe ' )->first ();
1073+ $ this ->assertEquals (6000 , $ user ->salary );
1074+
1075+ DB ::table ('users ' )->where ('name ' , 'Jane Doe ' )->multiply ('salary ' , 10 , ['note ' => 'adult ' ]);
1076+ $ user = DB ::table ('users ' )->where ('name ' , 'Jane Doe ' )->first ();
1077+ $ this ->assertEquals (10000 , $ user ->salary );
1078+ $ this ->assertEquals ('adult ' , $ user ->note );
1079+
1080+ DB ::table ('users ' )->multiply ('salary ' );
1081+ $ user = DB ::table ('users ' )->where ('name ' , 'John Doe ' )->first ();
1082+ $ this ->assertEquals (6000 , $ user ->salary );
1083+ $ user = DB ::table ('users ' )->where ('name ' , 'Jane Doe ' )->first ();
1084+ $ this ->assertEquals (10000 , $ user ->salary );
1085+ $ user = DB ::table ('users ' )->where ('name ' , 'Robert Roe ' )->first ();
1086+ $ this ->assertNull ($ user ->salary );
1087+ $ user = DB ::table ('users ' )->where ('name ' , 'Mark Moe ' )->first ();
1088+ $ this ->assertEquals (0 , $ user ->salary );
1089+ }
1090+
10551091 public function testProjections ()
10561092 {
10571093 DB ::table ('items ' )->insert ([
0 commit comments