当前位置: 首页>>代码示例>>PHP>>正文


PHP Q::in方法代码示例

本文整理汇总了PHP中Q::in方法的典型用法代码示例。如果您正苦于以下问题:PHP Q::in方法的具体用法?PHP Q::in怎么用?PHP Q::in使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Q的用法示例。


在下文中一共展示了Q::in方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: dashboard

 /**
  * ダッシュボード
  * @context OpenpearMaintainer $maintainer ログインしてるメンテナ
  * @context OpenpearCharge[] $my_package_charges
  * @context OpenpearTimeline[] $timelines
  * @context OpenpearFavorite[] $my_favorites
  * @context OpenpearMessage[] $notices
  */
 public function dashboard()
 {
     $this->vars('maintainer', $this->user());
     $this->vars('my_packages', C(OpenpearPackage)->find_all(Q::in('id', C(OpenpearCharge)->find_sub('package_id', Q::eq('maintainer_id', $this->user()->id()))), Q::order('-updated')));
     $this->vars('timelines', OpenpearTimeline::get_by_maintainer($this->user()));
     $this->vars('fav_packages', C(OpenpearPackage)->find_all(Q::in('id', C(OpenpearFavorite)->find_sub('package_id', Q::eq('maintainer_id', $this->user()->id()))), Q::order('-updated')));
     $this->vars('notices', C(OpenpearMessage)->find_all(Q::eq('maintainer_to_id', $this->user()->id()), Q::eq('type', 'system_notice'), Q::eq('unread', true)));
 }
开发者ID:nequal,项目名称:Openpear,代码行数:16,代码来源:OpenpearLogin.php

示例2: get_by_maintainer

 public static function get_by_maintainer(OpenpearMaintainer $maintainer, $limit = 20)
 {
     try {
         $favorites = C(OpenpearFavorite)->find_all(Q::eq('maintainer_id', $maintainer->id()));
         $charges = C(OpenpearCharge)->find_all(Q::eq('maintainer_id', $maintainer->id()));
         $ids = array();
         foreach ($favorites as $f) {
             $ids[] = $f->package_id();
         }
         foreach ($charges as $c) {
             $ids[] = $c->package_id();
         }
         return C(OpenpearTimeline)->find_all(new Paginator($limit), Q::in('package_id', array_unique($ids)), Q::order('-id'));
     } catch (Exception $e) {
         return array();
     }
 }
开发者ID:nequal,项目名称:Openpear,代码行数:17,代码来源:OpenpearTimeline.php

示例3: find_all

 /**
  * 検索結果をすべて取得する
  *
  * @return array Dao
  */
 public final function find_all()
 {
     $this->verify_class_access("call C(DAO_CLASS)->find_all()");
     $args = func_get_args();
     $result = array();
     $it = call_user_func_array(array($this, "find"), $args);
     $has_many_column = array();
     $is_has_many = !empty($this->_has_many_conds_);
     foreach ($it as $p) {
         if ($is_has_many) {
             foreach ($this->_has_many_conds_ as $name => $conds) {
                 $has_many_column[$name][] = $p->{$conds[2]}();
             }
         }
         $result[] = $p;
     }
     if ($is_has_many) {
         foreach ($this->_has_many_conds_ as $name => $conds) {
             foreach ($conds[0]->find(Q::in($conds[1], $has_many_column[$name])) as $dao) {
                 foreach ($result as $self_dao) {
                     if ($dao->{$conds[1]}() === $self_dao->{$conds[2]}()) {
                         $self_dao->{$name}($dao);
                     }
                 }
             }
         }
     }
     return $result;
     /***
     			# test
     			create_tmp_table("test_1","test_dao_find",array("id"=>"serial","value"=>"string","value2"=>"string","updated"=>"timestamp","order"=>"number"));
     			class TestDaoFind extends Dao{
     				static protected $__id__ = "type=serial";
     				static protected $__order__ = "type=number";
     				static protected $__updated__ = "type=timestamp";
     				protected $id;
     				protected $order;
     				protected $value;
     				protected $value2;
     				protected $updated;
     			}
     			R(new TestDaoFind("value=abc,updated=2008/12/24 10:00:00,order=4"))->save();
     			R(new TestDaoFind("value=def,updated=2008/12/24 10:00:00,order=3"))->save();
     			R(new TestDaoFind("value=ghi,updated=2008/12/24 10:00:00,order=1"))->save();
     			R(new TestDaoFind("value=jkl,updated=2008/12/24 10:00:00,order=2"))->save();
     			R(new TestDaoFind("value=aaa,updated=2008/12/24 10:00:00,order=2"))->save();
     
     			eq(5,sizeof(C(TestDaoFind)->find_all()));
     			foreach(C(TestDaoFind)->find(Q::eq("value","abc")) as $obj){
     				eq("abc",$obj->value());
     			}
     
     			$paginator = new Paginator(1,2);
     			eq(1,sizeof($result = C(TestDaoFind)->find_all(Q::neq("value","abc"),$paginator)));
     			eq("ghi",$result[0]->value());
     			eq(4,$paginator->total());
     
     			$i = 0;
     			foreach(C(TestDaoFind)->find(
     					Q::eq("value","abc"),
     					Q::or_block(
     						Q::eq("id",2),
     						Q::or_block(
     							Q::eq("value","ghi")
     						)
     					),
     					Q::neq("value","aaa")
     				) as $obj){
     				$i++;
     			}
     			eq(3,$i);
     
     			$list = array("abc","def","ghi","jkl","aaa");
     			$i = 0;
     			foreach(C(TestDaoFind)->find() as $obj){
     				eq($list[$i],$obj->value());
     				eq("2008/12/24 10:00:00",$obj->fmUpdated());
     				$i++;
     			}
     			foreach(C(TestDaoFind)->find(Q::eq("value","AbC",Q::IGNORE)) as $obj){
     				eq("abc",$obj->value());
     			}
     			foreach(C(TestDaoFind)->find(Q::neq("value","abc")) as $obj){
     				neq("abc",$obj->value());
     			}
     			try{
     				C(TestDaoFind)->find(Q::eq("value_error","abc"));
     				eq(false,true);
     			}catch(Exception $e){
     				eq(true,true);
     			}
     			try{
     				$dao = new TestDaoFind();
     				$dao->find(Q::eq("value_error","abc"));
     				eq(false,true);
//.........这里部分代码省略.........
开发者ID:hisaboh,项目名称:w2t,代码行数:101,代码来源:Dao.php

示例4: getActiveCategories

 /**
  * 活発なカテゴリを取得する
  * @param int $limit
  * @return array OpenpearTag[]
  **/
 public static function getActiveCategories($limit = 10)
 {
     $tag_ids_count = C(OpenpearPackageTag)->find_count_by('package_id', 'tag_id', Q::eq('prime', true));
     arsort($tag_ids_count);
     if (count($tag_ids_count) == 0) {
         $categories = array();
     } else {
         $categories = C(OpenpearTag)->find_all(Q::in('id', array_slice(array_keys($tag_ids_count), 0, $limit)));
     }
     return $categories;
 }
开发者ID:nequal,项目名称:Openpear,代码行数:16,代码来源:OpenpearPackage.php

示例5: maintainer_profile

 /**
  * メンテナのプロフィール
  * @param string $maintainer_name メンテナのアカウント名
  * @context OpenpearMaintainer $object メンテナ
  * @context OpenpearCharge[] $charges
  * @context OpenpearFavorite[] $favorites
  * @context OpenpearTimeline[] $timelines
  */
 public function maintainer_profile($maintainer_name)
 {
     try {
         $maintainer = C(OpenpearMaintainer)->find_get(Q::eq('name', $maintainer_name));
     } catch (NotfoundDaoException $e) {
         $this->not_found($e);
     } catch (Exception $e) {
         // 共通エラーに飛ばす
         throw $e;
     }
     $this->vars('object', $maintainer);
     $this->vars('packages', C(OpenpearPackage)->find_all(Q::in('id', C(OpenpearCharge)->find_sub('package_id', Q::eq('maintainer_id', $maintainer->id()))), Q::order('-updated')));
     $this->vars('fav_packages', C(OpenpearPackage)->find_all(Q::in('id', C(OpenpearFavorite)->find_sub('package_id', Q::eq('maintainer_id', $maintainer->id()))), Q::order('-updated')));
     $this->vars('timelines', C(OpenpearTimeline)->find_all(new Paginator(10), Q::eq('maintainer_id', $maintainer->id()), Q::order('-created')));
 }
开发者ID:nequal,项目名称:Openpear,代码行数:23,代码来源:OpenpearNoLogin.php


注:本文中的Q::in方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。