} foreach (\test\db\AbcFind::find() as $obj) { eq('abc', $obj->value1()); } eq(8, \test\db\Find::find_count()); eq(8, \test\db\Find::find_count('value1')); eq(7, \test\db\Find::find_count('value2')); eq(5, \test\db\Find::find_count(Q::eq('order', 2))); eq(4, \test\db\Find::find_count(Q::neq('value1', 'abc'), Q::ob(Q::b(Q::eq('order', 2)), Q::b(Q::eq('order', 4))), Q::neq('value1', 'aaa'))); $q = new Q(); $q->add(Q::neq('value1', 'abc')); $q->add(Q::ob(Q::b(Q::eq('order', 2)), Q::b(Q::eq('order', 4)))); $q->add(Q::neq('value1', 'aaa')); eq(4, \test\db\Find::find_count($q)); $q = new Q(); $q->add(Q::ob(Q::b(Q::eq('order', 2), Q::ob(Q::b(Q::eq('value1', 'ccc')), Q::b(Q::eq('value2', 'EDC')))), Q::b(Q::eq('order', 4)))); eq(3, \test\db\Find::find_count($q)); $paginator = new \ebi\Paginator(1, 2); eq(1, sizeof($result = \test\db\Find::find_all(Q::neq('value1', 'abc'), $paginator))); eq('ghi', $result[0]->value1()); eq(7, $paginator->total()); $i = 0; foreach (\test\db\Find::find(Q::neq('value1', 'abc'), Q::ob(Q::b(Q::eq('order', 2)), Q::b(Q::eq('order', 4))), Q::neq('value1', 'aaa')) as $obj) { $i++; } eq(4, $i); $list = array('abc', 'def', 'ghi', 'jkl', 'aaa', 'bbb', 'ccc', 'mno'); $i = 0; foreach (\test\db\Find::find() as $obj) { eq($list[$i], $obj->value1()); $i++;
/** * SmtpBlackholeDaoから送信されたメールの一番新しいものを返す * @param string $to * @param string $tcode * @param string $keyword * @return \ebi\SmtpBlackholeDao */ public static function find_mail($to, $tcode = '', $keyword = '') { $q = new Q(); $q->add(Q::eq('to', $to)); $q->add(Q::gte('create_date', time() - 300)); if (!empty($tcode)) { $q->add(Q::eq('tcode', $tcode)); } foreach (\ebi\SmtpBlackholeDao::find($q, Q::order('-id')) as $mail) { $value = $mail->subject() . $mail->message(); if (empty($keyword) || mb_strpos($value, $keyword) !== false) { return $mail; } } throw new \ebi\exception\NotFoundException('mail not found'); }