@@ -1052,6 +1052,55 @@ public function testIncrement()
10521052 $ this ->assertEquals (1 , $ user ->age );
10531053 }
10541054
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+ 10551104 public function testProjections ()
10561105 {
10571106 DB ::table ('items ' )->insert ([
0 commit comments