@@ -1052,6 +1052,55 @@ public function testIncrement()
1052
1052
$ this ->assertEquals (1 , $ user ->age );
1053
1053
}
1054
1054
1055
+ public function testMultiplyAndDivide ()
1056
+ {
1057
+ DB ::table ('users ' )->insert ([
1058
+ ['name ' => 'John Doe ' , 'salary ' => 88000 , 'note ' => 'senior ' ],
1059
+ ['name ' => 'Jane Doe ' , 'salary ' => 64000 , 'note ' => 'junior ' ],
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 (88000 , $ user ->salary );
1066
+
1067
+ DB ::table ('users ' )->where ('name ' , 'John Doe ' )->multiply ('salary ' , 1 );
1068
+ $ user = DB ::table ('users ' )->where ('name ' , 'John Doe ' )->first ();
1069
+ $ this ->assertEquals (88000 , $ user ->salary );
1070
+
1071
+ DB ::table ('users ' )->where ('name ' , 'John Doe ' )->divide ('salary ' , 1 );
1072
+ $ user = DB ::table ('users ' )->where ('name ' , 'John Doe ' )->first ();
1073
+ $ this ->assertEquals (88000 , $ user ->salary );
1074
+
1075
+ DB ::table ('users ' )->where ('name ' , 'John Doe ' )->multiply ('salary ' , 2 );
1076
+ $ user = DB ::table ('users ' )->where ('name ' , 'John Doe ' )->first ();
1077
+ $ this ->assertEquals (176000 , $ user ->salary );
1078
+
1079
+ DB ::table ('users ' )->where ('name ' , 'John Doe ' )->divide ('salary ' , 2 );
1080
+ $ user = DB ::table ('users ' )->where ('name ' , 'John Doe ' )->first ();
1081
+ $ this ->assertEquals (88000 , $ user ->salary );
1082
+
1083
+ DB ::table ('users ' )->where ('name ' , 'Jane Doe ' )->multiply ('salary ' , 10 , ['note ' => 'senior ' ]);
1084
+ $ user = DB ::table ('users ' )->where ('name ' , 'Jane Doe ' )->first ();
1085
+ $ this ->assertEquals (640000 , $ user ->salary );
1086
+ $ this ->assertEquals ('senior ' , $ user ->note );
1087
+
1088
+ DB ::table ('users ' )->where ('name ' , 'John Doe ' )->divide ('salary ' , 2 , ['note ' => 'junior ' ]);
1089
+ $ user = DB ::table ('users ' )->where ('name ' , 'John Doe ' )->first ();
1090
+ $ this ->assertEquals (44000 , $ user ->salary );
1091
+ $ this ->assertEquals ('junior ' , $ user ->note );
1092
+
1093
+ DB ::table ('users ' )->multiply ('salary ' , 1 );
1094
+ $ user = DB ::table ('users ' )->where ('name ' , 'John Doe ' )->first ();
1095
+ $ this ->assertEquals (44000 , $ user ->salary );
1096
+ $ user = DB ::table ('users ' )->where ('name ' , 'Jane Doe ' )->first ();
1097
+ $ this ->assertEquals (640000 , $ user ->salary );
1098
+ $ user = DB ::table ('users ' )->where ('name ' , 'Robert Roe ' )->first ();
1099
+ $ this ->assertNull ($ user ->salary );
1100
+ $ user = DB ::table ('users ' )->where ('name ' , 'Mark Moe ' )->first ();
1101
+ $ this ->assertFalse (isset ($ user ->salary ));
1102
+ }
1103
+
1055
1104
public function testProjections ()
1056
1105
{
1057
1106
DB ::table ('items ' )->insert ([
0 commit comments