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


PHP Doctrine_Collection::save方法代码示例

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


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

示例1: indexDirectory

 public function indexDirectory($dir)
 {
     if (!file_exists($dir)) {
         throw new Doctrine_Search_Indexer_Exception('Unknown directory ' . $dir);
     }
     $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::LEAVES_ONLY);
     $files = array();
     foreach ($it as $file) {
         $name = $file->getPathName();
         if (strpos($name, '.svn') === false) {
             $files[] = $name;
         }
     }
     $q = new Doctrine_Query();
     $q->delete()->from('Doctrine_File f')->where('f.url LIKE ?', array($dir . '%'))->execute();
     // clear the index
     $q = new Doctrine_Query();
     $q->delete()->from('Doctrine_File_Index i')->where('i.file_id = ?')->execute();
     $conn = Doctrine_Manager::connection();
     $coll = new Doctrine_Collection('Doctrine_File');
     foreach ($files as $file) {
         $coll[]->url = $file;
     }
     $coll->save();
 }
开发者ID:JimmyVB,项目名称:Symfony-v1.2,代码行数:25,代码来源:Indexer.php

示例2: executeImportSentences

 public function executeImportSentences(dmWebRequest $request)
 {
     $catalogue = $this->getObjectOrForward404($request);
     $form = new DmCatalogueImportForm();
     sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url'));
     if ($request->isMethod('post') && $form->bindAndValid($request)) {
         $file = $form->getValue('file');
         $override = $form->getValue('override');
         $dataFile = $file->getTempName();
         $table = dmDb::table('DmTransUnit');
         $existQuery = $table->createQuery('t')->select('t.id, t.source, t.target, t.created_at, t.updated_at')->where('t.dm_catalogue_id = ? AND t.source = ?');
         $catalogueId = $catalogue->get('id');
         $nbAdded = 0;
         $nbUpdated = 0;
         try {
             if (!is_array($data = sfYaml::load(file_get_contents($dataFile)))) {
                 $this->getUser()->logError($this->getI18n()->__('Could not load file: %file%', array('%file%' => $file->getOriginalName())));
                 return $this->renderPartial('dmInterface/flash');
             }
         } catch (Exception $e) {
             $this->getUser()->logError($this->getI18n()->__('Unable to parse file: %file%', array('%file%' => $file->getOriginalName())));
             return $this->renderPartial('dmInterface/flash');
         }
         $addedTranslations = new Doctrine_Collection($table);
         $line = 0;
         foreach ($data as $source => $target) {
             ++$line;
             if (!is_string($source) || !is_string($target)) {
                 $this->getUser()->logError($this->getI18n()->__('Error line %line%: %file%', array('%line%' => $line, '%file%' => $file->getOriginalName())));
                 return $this->renderPartial('dmInterface/flash');
             } else {
                 $existing = $existQuery->fetchOneArray(array($catalogueId, $source));
                 if (!empty($existing) && $existing['source'] === $source) {
                     if ($existing['target'] !== $target) {
                         if ($override || $existing['created_at'] === $existing['updated_at']) {
                             $table->createQuery()->update('DmTransUnit')->set('target', '?', array($target))->where('id = ?', $existing['id'])->execute();
                             ++$nbUpdated;
                         }
                     }
                 } elseif (empty($existing)) {
                     $addedTranslations->add(dmDb::create('DmTransUnit', array('dm_catalogue_id' => $catalogue->get('id'), 'source' => $source, 'target' => $target)));
                     ++$nbAdded;
                 }
             }
         }
         $addedTranslations->save();
         if ($nbAdded) {
             $this->getUser()->logInfo($this->getI18n()->__('%catalogue%: added %count% translation(s)', array('%catalogue%' => $catalogue->get('name'), '%count%' => $nbAdded)));
         }
         if ($nbUpdated) {
             $this->getUser()->logInfo($this->getI18n()->__('%catalogue%: updated %count% translation(s)', array('%catalogue%' => $catalogue->get('name'), '%count%' => $nbUpdated)));
         }
         if (!$nbAdded && !$nbUpdated) {
             $this->getUser()->logInfo($this->getI18n()->__('%catalogue%: nothing to add and update', array('%catalogue%' => $catalogue->get('name'))));
         }
         return $this->renderText(url_for1($this->getRouteArrayForAction('index')));
     }
     $action = url_for1($this->getRouteArrayForAction('importSentences', $catalogue));
     return $this->renderText($form->render('.dm_form.list.little action="' . $action . '"'));
 }
开发者ID:theolymp,项目名称:diem,代码行数:60,代码来源:actions.class.php

示例3: reload

 public function reload($projets, $project_id, $project_ref, Doctrine_Connection $conn = null)
 {
     if ($conn == null) {
         $conn = Doctrine_Manager::connection();
     }
     //Création de la collection d'objet EiProjectLang à ajouter
     $collection = new Doctrine_Collection("EiProjectLang");
     $items = $projets->getElementsByTagName("ei_project_langs");
     if ($items->length > 0) {
         //ya t-il des éléments à traiter?
         $ei_project_langs = $items->item(0)->getElementsByTagName("ei_project_lang");
         if ($ei_project_langs->length > 0) {
             foreach ($ei_project_langs as $ei_project_lang) {
                 $lang_id = $ei_project_lang->getAttribute("lang");
                 //recherche du profil en base
                 if ($lang_id != null && $project_ref != null && $project_id != null) {
                     $new_ei_project_lang = new EiProjectLang();
                     $new_ei_project_lang->setLang($lang_id);
                     $new_ei_project_lang->setProjectId($project_id);
                     $new_ei_project_lang->setProjectRef($project_ref);
                     $collection->add($new_ei_project_lang);
                 }
             }
             if ($collection->getFirst()) {
                 $collection->save($conn);
             }
             //Sauvegarde de la collection
             return 1;
         }
         return null;
     }
 }
开发者ID:lendji4000,项目名称:compose,代码行数:32,代码来源:EiProjectLangTable.class.php

示例4: execute

 /**
  *
  * @param <type> $request
  */
 public function execute($request)
 {
     $this->setForm(new CopyActivityForm());
     $projectId = $request->getParameter('projectId');
     $this->form->bind($request->getParameter($this->form->getName()));
     $projectActivityList = $this->getProjectService()->getActivityListByProjectId($projectId);
     if ($this->form->isValid()) {
         $activityNameList = $request->getParameter('activityNames', array());
         $activities = new Doctrine_Collection('ProjectActivity');
         $isUnique = true;
         foreach ($activityNameList as $activityName) {
             foreach ($projectActivityList as $projectActivity) {
                 if (strtolower($activityName) == strtolower($projectActivity->getName())) {
                     $isUnique = false;
                     break;
                 }
             }
         }
         if ($isUnique) {
             foreach ($activityNameList as $activityName) {
                 $activity = new ProjectActivity();
                 $activity->setProjectId($projectId);
                 $activity->setName($activityName);
                 $activity->setIsDeleted(ProjectActivity::ACTIVE_PROJECT);
                 $activities->add($activity);
             }
             $activities->save();
             $this->getUser()->setFlash('templateMessageAct', array('success', __('Successfully Copied')));
         } else {
             $this->getUser()->setFlash('templateMessageAct', array('failure', __('Name Already Exists')));
         }
         $this->redirect('admin/saveProject?projectId=' . $projectId);
     }
 }
开发者ID:THM068,项目名称:orangehrm,代码行数:38,代码来源:copyActivityAction.class.php

示例5: reload

 public function reload($projets, $project_id, $project_ref, Doctrine_Connection $conn = null)
 {
     if ($conn == null) {
         $conn = Doctrine_Manager::connection();
     }
     //Création de la collection d'objet EiVersionNotice à ajouter
     $collection = new Doctrine_Collection("EiVersionNotice");
     //Supression des versions de notice qui n'existent plus sur script
     $this->deleteNotFoundVersionNotice($conn);
     $items = $projets->getElementsByTagName("ei_version_notices");
     if ($items->length > 0) {
         //ya t-il des éléments à traiter?
         $ei_version_notices = $items->item(0)->getElementsByTagName("ei_version_notice");
         if ($ei_version_notices->length > 0) {
             foreach ($ei_version_notices as $ei_version_notice) {
                 $notice_id = $ei_version_notice->getAttribute("notice_id");
                 $notice_ref = $ei_version_notice->getAttribute("notice_ref");
                 $version_notice_id = $ei_version_notice->getAttribute("version_notice_id");
                 $lang = $ei_version_notice->getAttribute("lang");
                 //recherche du profil en base
                 if ($notice_id != null && $notice_ref != null && $version_notice_id != null && $lang != null) {
                     $q = Doctrine_Core::getTable('EiVersionNotice')->findOneByNoticeIdAndNoticeRefAndVersionNoticeIdAndLang($notice_id, $notice_ref, $version_notice_id, $lang);
                     if ($q && $q != null) {
                         //si l'element existe , on fait une mise à jour
                         $q->setName($ei_version_notice->getElementsByTagName("name")->item(0)->nodeValue);
                         $q->setDescription($ei_version_notice->getElementsByTagName("description")->item(0)->nodeValue);
                         $q->setExpected($ei_version_notice->getElementsByTagName("expected")->item(0)->nodeValue);
                         $q->setResult($ei_version_notice->getElementsByTagName("result")->item(0)->nodeValue);
                         $q->setIsActive($ei_version_notice->getElementsByTagName("is_active")->item(0)->nodeValue);
                         $q->save($conn);
                     } else {
                         //l'élément n'existe pas encore, et dans ce cas on le crée
                         $new_ei_version_notice = new EiVersionNotice();
                         $new_ei_version_notice->setNoticeId($notice_id);
                         $new_ei_version_notice->setNoticeRef($notice_ref);
                         $new_ei_version_notice->setVersionNoticeId($version_notice_id);
                         $new_ei_version_notice->setLang($lang);
                         $new_ei_version_notice->setDescription($ei_version_notice->getElementsByTagName("description")->item(0)->nodeValue);
                         $new_ei_version_notice->setExpected($ei_version_notice->getElementsByTagName("expected")->item(0)->nodeValue);
                         $new_ei_version_notice->setResult($ei_version_notice->getElementsByTagName("result")->item(0)->nodeValue);
                         $new_ei_version_notice->setName($ei_version_notice->getElementsByTagName("name")->item(0)->nodeValue);
                         $new_ei_version_notice->setIsActive($ei_version_notice->getElementsByTagName("is_active")->item(0)->nodeValue);
                         $collection->add($new_ei_version_notice);
                     }
                 }
             }
             if ($collection->getFirst()) {
                 $collection->save($conn);
             }
             //Sauvegarde de la collection
             return 1;
         }
         return null;
     }
 }
开发者ID:lendji4000,项目名称:compose,代码行数:55,代码来源:EiVersionNoticeTable.class.php

示例6: addWikiPages2Categories

 /**
  * Add a group of wiki pages selected to a category
  * @param integer $category_id
  * @param array $wikiIDS
  * @param integer $locale
  */
 public static function addWikiPages2Categories($category_id, $wikiIDS)
 {
     $records = new Doctrine_Collection('Wikilinks');
     self::removeWikiCategoriesPages($category_id);
     for ($i = 0; $i < count($wikiIDS); $i++) {
         $records[$i]->category_id = $category_id;
         $records[$i]->wiki_id = $wikiIDS[$i];
     }
     $records->save();
     return true;
 }
开发者ID:kokkez,项目名称:shineisp,代码行数:17,代码来源:Wikilinks.php

示例7: testInit

 public function testInit()
 {
     $user = new BookmarkUser();
     $user['name'] = 'Anonymous';
     $user->save();
     $pages = new Doctrine_Collection('Page');
     $pages[0]['name'] = 'Yahoo';
     $pages[0]['url'] = 'http://www.yahoo.com';
     $pages->save();
     $this->assertEqual(count($pages), 1);
 }
开发者ID:swk,项目名称:bluebox,代码行数:11,代码来源:587TestCase.php

示例8: executeDissociate

 public function executeDissociate(sfWebRequest $request)
 {
     $this->rfid_groupe = $this->getRoute()->getObject();
     $rfids = Doctrine_Core::getTable('Rfid')->findByGroupeId($this->rfid_groupe->getGuid());
     $collection = new Doctrine_Collection('Rfid');
     foreach ($rfids as $rfid) {
         $rfid->setGroupeId(null);
         $collection->add($rfid);
     }
     $collection->save();
     $this->redirect('@rfid_groupe');
 }
开发者ID:pmoutet,项目名称:navinum,代码行数:12,代码来源:actions.class.php

示例9: testMultiplePrimaryKeys

 public function testMultiplePrimaryKeys()
 {
     $r = new Doctrine_Collection('NestReference');
     $r[0]->parent_id = 1;
     $r[0]->child_id = 2;
     $r[1]->parent_id = 2;
     $r[1]->child_id = 3;
     $r->save();
     $r->delete();
     $this->conn->clear();
     $q = new Doctrine_Query();
     $coll = $q->from('NestReference')->execute();
     $this->assertEqual(count($coll), 0);
 }
开发者ID:kaakshay,项目名称:audience-insight-repository,代码行数:14,代码来源:CircularSavingTestCase.php

示例10: testInitData

 public function testInitData()
 {
     // Since the tests do a $this->objTable()->clear() before each method call
     // using the User model is not recommended for this test
     $albums = new Doctrine_Collection('Album');
     $albums[0]->name = 'Revolution';
     $albums[0]->Song[0]->title = 'Revolution';
     $albums[0]->Song[1]->title = 'Hey Jude';
     $albums[0]->Song[2]->title = 'Across the Universe';
     $albums[0]->Song[3]->title = 'Michelle';
     $albums->save();
     $this->assertEqual(count($albums[0]->Song), 4);
     $this->_albums = $albums;
 }
开发者ID:kaakshay,项目名称:audience-insight-repository,代码行数:14,代码来源:428TestCase.php

示例11: testInitData

 public function testInitData()
 {
     $users = new Doctrine_Collection('User');
     $users[0]->name = 'John';
     $users[0]->Phonenumber[0]->phonenumber = '123 123';
     $users[0]->Phonenumber[1]->phonenumber = '222 222';
     $users[0]->Phonenumber[2]->phonenumber = '333 333';
     $users[1]->name = 'John';
     $users[2]->name = 'James';
     $users[2]->Phonenumber[0]->phonenumber = '222 344';
     $users[2]->Phonenumber[1]->phonenumber = '222 344';
     $users[3]->name = 'James';
     $users[3]->Phonenumber[0]->phonenumber = '123 123';
     $users->save();
 }
开发者ID:swk,项目名称:bluebox,代码行数:15,代码来源:AggregateValueTestCase.php

示例12: updatePosition

 public function updatePosition($ids, $campaign_id)
 {
     if (!is_array($ids)) {
         return null;
     }
     //On reconstruit les relations de la table graph_has_graph
     $newStepTab = array();
     $ids = $ids[0];
     if (!is_array($ids)) {
         return null;
     }
     foreach ($ids as $i => $item) {
         if (array_key_exists($i + 1, $ids)) {
             $newStepTab[] = array($ids[$i], $ids[$i + 1]);
         }
     }
     //var_dump($newStepTab);
     if (!is_array($newStepTab)) {
         return null;
     }
     $conn = Doctrine_Manager::connection();
     try {
         $conn->beginTransaction();
         /*On vérifie qu'on est pas en accès concurrent */
         $nb = count(Doctrine_Core::getTable('EiCampaignGraph')->findByCampaignId($campaign_id));
         if ($nb != count($ids)) {
             throw new Exception('Concurrent Access. refresh page ...');
         }
         $conn->delete($this->getInstance(), array('campaign_id' => $campaign_id));
         $collection = new Doctrine_Collection($this->getInstance());
         foreach ($newStepTab as $item) {
             $newItem = new EiCampaignGraphHasGraph();
             $newItem->setParentId($item[0]);
             $newItem->setChildId($item[1]);
             $newItem->setCampaignId($campaign_id);
             $collection->add($newItem);
         }
         $collection->save($conn);
         $conn->commit();
         //  validation globale  de la création
         return 1;
     } catch (Exception $e) {
         $conn->rollback();
         //throw $e('An error occurred while trying to update nodes positions ');
         return -1;
     }
 }
开发者ID:lendji4000,项目名称:compose,代码行数:47,代码来源:EiCampaignGraphHasGraphTable.class.php

示例13: reload

 public function reload($projets, $project_id, $project_ref, Doctrine_Connection $conn = null)
 {
     if ($conn == null) {
         $conn = Doctrine_Manager::connection();
     }
     //Création de la collection d'objet View à ajouter
     $collection = new Doctrine_Collection("EiView");
     $items = $projets->getElementsByTagName("ei_views");
     if ($items->length > 0) {
         //ya t-il des éléments à traiter?
         $ei_views = $items->item(0)->getElementsByTagName("ei_view");
         if ($ei_views->length > 0) {
             foreach ($ei_views as $ei_view) {
                 $view_id = $ei_view->getAttribute("view_id");
                 $view_ref = $ei_view->getAttribute("view_ref");
                 //recherche du profil en base
                 if ($view_id != null && $view_ref != null) {
                     $q = Doctrine_Core::getTable('EiView')->findOneByViewIdAndViewRef($view_id, $view_ref);
                     if ($q && $q != null) {
                         //si l'element existe , on fait une mise à jour
                         $q->setDescription($ei_view->getElementsByTagName("description")->item(0)->nodeValue);
                         $q->setIsActive($ei_view->getElementsByTagName("is_active")->item(0)->nodeValue);
                         $q->save($conn);
                     } else {
                         //l'élément n'existe pas encore, et dans ce cas on le crée
                         $new_ei_view = new EiView();
                         $new_ei_view->setViewId($view_id);
                         $new_ei_view->setViewRef($view_ref);
                         $new_ei_view->setDescription($ei_view->getElementsByTagName("description")->item(0)->nodeValue);
                         $new_ei_view->setIsActive($ei_view->getElementsByTagName("is_active")->item(0)->nodeValue);
                         $new_ei_view->setProjectId($project_id);
                         $new_ei_view->setProjectRef($project_ref);
                         //                        $new_ei_view->save($conn);
                         $collection->add($new_ei_view);
                     }
                 }
             }
             if ($collection->getFirst()) {
                 $collection->save($conn);
             }
             //Sauvegarde de la collection
             return 1;
         }
         return null;
         //On a retrouvé aucun élément de ce type
     }
 }
开发者ID:lendji4000,项目名称:compose,代码行数:47,代码来源:EiViewTable.class.php

示例14: reload

 public function reload($projets, $project_id, $project_ref, Doctrine_Connection $conn = null)
 {
     if ($conn == null) {
         $conn = Doctrine_Manager::connection();
     }
     //Création de la collection d'objet EiNotice à ajouter
     $collection = new Doctrine_Collection("EiNotice");
     //Supréssion des notices n'existant plus
     $this->deleteNotFoundNotice();
     $items = $projets->getElementsByTagName("ei_notices");
     if ($items->length > 0) {
         //ya t-il des éléments à traiter?
         $ei_notices = $items->item(0)->getElementsByTagName("ei_notice");
         if ($ei_notices->length > 0) {
             foreach ($ei_notices as $ei_notice) {
                 $notice_id = $ei_notice->getAttribute("notice_id");
                 $notice_ref = $ei_notice->getAttribute("notice_ref");
                 //recherche du profil en base
                 if ($notice_id != null && $notice_ref != null) {
                     $q = Doctrine_Core::getTable('EiNotice')->findOneByNoticeIdAndNoticeRef($notice_id, $notice_ref);
                     if ($q && $q != null) {
                         //si l'element existe , on fait une mise à jour
                         $q->setName($ei_notice->getElementsByTagName("name")->item(0)->nodeValue);
                         $q->save($conn);
                     } else {
                         //l'élément n'existe pas encore, et dans ce cas on le crée
                         $new_ei_notice = new EiNotice();
                         $new_ei_notice->setNoticeId($notice_id);
                         $new_ei_notice->setNoticeRef($notice_ref);
                         $new_ei_notice->setFunctionId($ei_notice->getElementsByTagName("function_id")->item(0)->nodeValue);
                         $new_ei_notice->setFunctionRef($ei_notice->getElementsByTagName("function_ref")->item(0)->nodeValue);
                         $new_ei_notice->setName($ei_notice->getElementsByTagName("name")->item(0)->nodeValue);
                         $collection->add($new_ei_notice);
                     }
                 }
             }
             if ($collection->getFirst()) {
                 $collection->save($conn);
             }
             //Sauvegarde de la collection
             return 1;
         }
         return null;
     }
 }
开发者ID:lendji4000,项目名称:compose,代码行数:45,代码来源:EiNoticeTable.class.php

示例15: execute

 protected function execute($arguments = array(), $options = array())
 {
     // initialize the database connection
     $databaseManager = new sfDatabaseManager($this->configuration);
     $connection = $databaseManager->getDatabase($options['connection'])->getConnection();
     $quiet = (bool) $options['quiet'];
     $domain = $arguments['domain'];
     if (!$quiet) {
         echo "Creating deadlines...";
     }
     $subreddit = SubredditTable::getInstance()->findOneBy('domain', $domain);
     /* @var $subreddit Subreddit */
     if (!$subreddit) {
         return new sfException("Cannot find subreddit by the domain name {$domain}.", 404);
     }
     if (count($subreddit->getDeadlines())) {
         return new sfException("Subreddit has deadlines already.");
     }
     $authortype_one = AuthorTypeTable::getInstance()->findOneBy('type', 'first_place');
     $authortype_two = AuthorTypeTable::getInstance()->findOneBy('type', 'second_place');
     $authortype_three = AuthorTypeTable::getInstance()->findOneBy('type', 'third_place');
     $authortype_four = AuthorTypeTable::getInstance()->findOneBy('type', 'sudden_death');
     $deadlines = new Doctrine_Collection('Deadline');
     $deadlines[0] = new Deadline();
     $deadlines[0]->setAuthorType($authortype_one);
     $deadlines[0]->setSubreddit($subreddit);
     $deadlines[0]->setSeconds(259200);
     $deadlines[1] = new Deadline();
     $deadlines[1]->setAuthorType($authortype_two);
     $deadlines[1]->setSubreddit($subreddit);
     $deadlines[1]->setSeconds(172800);
     $deadlines[2] = new Deadline();
     $deadlines[2]->setAuthorType($authortype_three);
     $deadlines[2]->setSubreddit($subreddit);
     $deadlines[2]->setSeconds(86400);
     $deadlines[3] = new Deadline();
     $deadlines[3]->setAuthorType($authortype_four);
     $deadlines[3]->setSubreddit($subreddit);
     $deadlines[3]->setSeconds(0);
     $deadlines->save();
     if (!$quiet) {
         echo "\nFinished.\n";
     }
 }
开发者ID:nocoolnametom,项目名称:OpenMicNight,代码行数:44,代码来源:herdditCreatedefaultdeadlinesTask.class.php


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