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


PHP QueryBuilder::multicollocations方法代码示例

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


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

示例1: multicollocations

 public function multicollocations()
 {
     if ($this->request->is('post')) {
         if (!empty($this->request['data']['multiWord1Value']) && !empty($this->request['data']['multiWord2Value']) && !empty($this->request['data']['multiWord3Value'])) {
             $this->set('multiWord1Value', $this->request['data']['multiWord1Value']);
             $this->set('multiWord2Value', $this->request['data']['multiWord2Value']);
             $this->set('multiWord3Value', $this->request['data']['multiWord3Value']);
             $this->set('documentFilter', array_key_exists('documentFilter', $this->request['data']) ? $this->request['data']['documentFilter'] : 0);
             $languageModel = ClassRegistry::init('Language');
             $languageModel->recursive = 1;
             $languages = $languageModel->find('all');
             $this->set('languages', $languages);
             $documentModel = ClassRegistry::init('Document');
             $documentModel->recursive = 1;
             $documents = $documentModel->find('all');
             $this->set('documents', $documents);
             if (isset($this->request['data']['documentIds'])) {
                 $documentIds = $this->request['data']['documentIds'];
             } else {
                 $documentIds = array();
             }
             $this->set('documentIds', $documentIds);
             $multiWord1Params = explode(',', $this->request['data']['multiWord1Value']);
             $multiWord2Params = explode(',', $this->request['data']['multiWord2Value']);
             $multiWord3Params = explode(',', $this->request['data']['multiWord3Value']);
             $sentenceModel = ClassRegistry::init('Sentence');
             $rawCollocations = $sentenceModel->query(QueryBuilder::multicollocations($documentIds, $multiWord1Params, $multiWord2Params, $multiWord3Params));
             $contexts = array();
             foreach ($rawCollocations as $rawCollocation) {
                 array_push($contexts, $documentModel->query("select * from documents inner join languages on languages.id = documents.language_id inner join sentences on documents.id = sentences.document_id and sentences.id = " . $rawCollocation['sentences']['id'] . " inner join words on sentences.id = words.sentence_id order by words.position;"));
             }
             if (count($rawCollocations) != count($contexts)) {
                 die("annotatedWords is of different length than contexts");
             }
             $this->set('collocations', $rawCollocations);
             $this->set('contexts', $contexts);
         } else {
             $this->Session->setFlash("Empty search query, add search criteria for all searched words.");
             return $this->redirect(array('action' => 'generator'));
         }
     }
 }
开发者ID:rjawor,项目名称:tagging,代码行数:42,代码来源:StatisticsController.php


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