/** * @transaction * * @param int $userId ユーザID * * @return Logics_Result */ public function destroy($userId) { $result = new Logics_Result(); $aUser = new User($userId); if ($aUser->isSelected()) { $or = new Sabel_Db_Condition_Or(); $or->add(C::create(C::EQUAL, "user_id", $aUser->id)); $or->add(C::create(C::EQUAL, "request_id", $aUser->id)); $request = new Request(); $request->delete($or); $or = new Sabel_Db_Condition_Or(); $or->add(C::create(C::EQUAL, "user_id", $aUser->id)); $or->add(C::create(C::EQUAL, "follow_id", $aUser->id)); $follower = new Follower(); $follower->delete($or); $status = new Status(); $status->delete("user_id", $userId); $aUser->save(array("delete_flag" => true)); } return $result; }
public function testOrAndOrCondition() { $st = MODEL("SchemaTest"); $or1 = new Sabel_Db_Condition_Or(); $or1->add(Condition::create(EQUAL, "sint", 100)); $or1->add(Condition::create(EQUAL, "sint", 300)); $or2 = new Sabel_Db_Condition_Or(); $or2->add(Condition::create(EQUAL, "sint", 300)); $or2->add(Condition::create(EQUAL, "sint", 500)); $st->setOrderBy("id"); $st->setCondition($or1); $st->setCondition($or2); $results = $st->select(); $this->assertEquals(2, count($results)); $this->assertEquals("*****@*****.**", $results[0]->email); $this->assertEquals("*****@*****.**", $results[1]->email); }
public function orWhere() { $or = new Sabel_Db_Condition_Or(); foreach (func_get_args() as $condition) { $or->add($condition); } $this->model->setCondition($or); return $this; }