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


PHP ArrayList::column方法代码示例

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


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

示例1: testAppendToTopAutoSort

 public function testAppendToTopAutoSort()
 {
     if (Member::currentUser()) {
         Member::currentUser()->logOut();
     }
     $this->gridField->getConfig()->getComponentByType('GridFieldSortableRows')->setAppendToTop(true);
     $this->assertEquals(0, $this->list->last()->SortOrder, 'Auto sort should not have run');
     $stateID = 'testGridStateActionField';
     Session::set($stateID, array('grid' => '', 'actionName' => 'sortableRowsToggle', 'args' => array('GridFieldSortableRows' => array('sortableToggle' => true))));
     $request = new SS_HTTPRequest('POST', 'url', array(), array('action_gridFieldAlterAction?StateID=' . $stateID => true));
     $this->gridField->gridFieldAlterAction(array('StateID' => $stateID), $this->form, $request);
     //Insure sort ran
     $this->assertEquals(3, $this->list->last()->SortOrder, 'Auto sort should have run');
     //Check for duplicates (there shouldn't be any)
     $count = $this->list->Count();
     $indexes = count(array_unique($this->list->column('SortOrder')));
     $this->assertEquals(0, $count - $indexes, 'Duplicate indexes detected');
 }
开发者ID:vinstah,项目名称:body,代码行数:18,代码来源:GridFieldSortableRowsAutoSortTest.php

示例2: column

 /**
  * Returns an array of a single field value for all items in the list.
  *
  * @param string $colName
  * @return array
  */
 public function column($colName = 'ID')
 {
     $list = new ArrayList($this->toArray());
     return $list->column('ID');
 }
开发者ID:congaaids,项目名称:silverstripe-framework,代码行数:11,代码来源:UnsavedRelationList.php

示例3: getCMSFields

 /**
  * Caution: Only call on instances, not through a singleton.
  * The "root group" fields will be created through {@link SecurityAdmin->EditForm()}.
  *
  * @return FieldList
  */
 public function getCMSFields()
 {
     Requirements::javascript(FRAMEWORK_DIR . '/javascript/PermissionCheckboxSetField.js');
     $fields = new FieldList(new TabSet("Root", new Tab('Members', _t('SecurityAdmin.MEMBERS', 'Members'), new TextField("Title", $this->fieldLabel('Title')), $parentidfield = DropdownField::create('ParentID', $this->fieldLabel('Parent'), Group::get()->exclude('ID', $this->ID)->map('ID', 'Breadcrumbs'))->setEmptyString(' '), new TextareaField('Description', $this->fieldLabel('Description'))), $permissionsTab = new Tab('Permissions', _t('SecurityAdmin.PERMISSIONS', 'Permissions'), $permissionsField = new PermissionCheckboxSetField('Permissions', false, 'Permission', 'GroupID', $this))));
     $parentidfield->setDescription(_t('Group.GroupReminder', 'If you choose a parent group, this group will take all it\'s roles'));
     // Filter permissions
     // TODO SecurityAdmin coupling, not easy to get to the form fields through GridFieldDetailForm
     $permissionsField->setHiddenPermissions((array) Config::inst()->get('SecurityAdmin', 'hidden_permissions'));
     if ($this->ID) {
         $group = $this;
         $config = GridFieldConfig_RelationEditor::create();
         $config->addComponent(new GridFieldButtonRow('after'));
         $config->addComponents(new GridFieldExportButton('buttons-after-left'));
         $config->addComponents(new GridFieldPrintButton('buttons-after-left'));
         $config->getComponentByType('GridFieldAddExistingAutocompleter')->setResultsFormat('$Title ($Email)')->setSearchFields(array('FirstName', 'Surname', 'Email'));
         $config->getComponentByType('GridFieldDetailForm')->setValidator(new Member_Validator())->setItemEditFormCallback(function ($form, $component) use($group) {
             $record = $form->getRecord();
             $groupsField = $form->Fields()->dataFieldByName('DirectGroups');
             if ($groupsField) {
                 // If new records are created in a group context,
                 // set this group by default.
                 if ($record && !$record->ID) {
                     $groupsField->setValue($group->ID);
                 } elseif ($record && $record->ID) {
                     // TODO Mark disabled once chosen.js supports it
                     // $groupsField->setDisabledItems(array($group->ID));
                     $form->Fields()->replaceField('DirectGroups', $groupsField->performReadonlyTransformation());
                 }
             }
         });
         $memberList = GridField::create('Members', false, $this->DirectMembers(), $config)->addExtraClass('members_grid');
         // @todo Implement permission checking on GridField
         //$memberList->setPermissions(array('edit', 'delete', 'export', 'add', 'inlineadd'));
         $fields->addFieldToTab('Root.Members', $memberList);
     }
     // Only add a dropdown for HTML editor configurations if more than one is available.
     // Otherwise Member->getHtmlEditorConfigForCMS() will default to the 'cms' configuration.
     $editorConfigMap = HtmlEditorConfig::get_available_configs_map();
     if (count($editorConfigMap) > 1) {
         $fields->addFieldToTab('Root.Permissions', new DropdownField('HtmlEditorConfig', 'HTML Editor Configuration', $editorConfigMap), 'Permissions');
     }
     if (!Permission::check('EDIT_PERMISSIONS')) {
         $fields->removeFieldFromTab('Root', 'Permissions');
     }
     // Only show the "Roles" tab if permissions are granted to edit them,
     // and at least one role exists
     if (Permission::check('APPLY_ROLES') && DataObject::get('PermissionRole')) {
         $fields->findOrMakeTab('Root.Roles', _t('SecurityAdmin.ROLES', 'Roles'));
         $fields->addFieldToTab('Root.Roles', new LiteralField("", "<p>" . _t('SecurityAdmin.ROLESDESCRIPTION', "Roles are predefined sets of permissions, and can be assigned to groups.<br />" . "They are inherited from parent groups if required.") . '<br />' . sprintf('<a href="%s" class="add-role">%s</a>', singleton('SecurityAdmin')->Link('show/root#Root_Roles'), _t('Group.RolesAddEditLink', 'Manage roles')) . "</p>"));
         // Add roles (and disable all checkboxes for inherited roles)
         $allRoles = PermissionRole::get();
         if (!Permission::check('ADMIN')) {
             $allRoles = $allRoles->filter("OnlyAdminCanApply", 0);
         }
         if ($this->ID) {
             $groupRoles = $this->Roles();
             $inheritedRoles = new ArrayList();
             $ancestors = $this->getAncestors();
             foreach ($ancestors as $ancestor) {
                 $ancestorRoles = $ancestor->Roles();
                 if ($ancestorRoles) {
                     $inheritedRoles->merge($ancestorRoles);
                 }
             }
             $groupRoleIDs = $groupRoles->column('ID') + $inheritedRoles->column('ID');
             $inheritedRoleIDs = $inheritedRoles->column('ID');
         } else {
             $groupRoleIDs = array();
             $inheritedRoleIDs = array();
         }
         $rolesField = ListboxField::create('Roles', false, $allRoles->map()->toArray())->setDefaultItems($groupRoleIDs)->setAttribute('data-placeholder', _t('Group.AddRole', 'Add a role for this group'))->setDisabledItems($inheritedRoleIDs);
         if (!$allRoles->Count()) {
             $rolesField->setAttribute('data-placeholder', _t('Group.NoRoles', 'No roles found'));
         }
         $fields->addFieldToTab('Root.Roles', $rolesField);
     }
     $fields->push($idField = new HiddenField("ID"));
     $this->extend('updateCMSFields', $fields);
     return $fields;
 }
开发者ID:spekulatius,项目名称:silverstripe-framework,代码行数:86,代码来源:Group.php

示例4: testColumn

 public function testColumn()
 {
     $list = new ArrayList(array(array('Name' => 'Steve'), (object) array('Name' => 'Bob'), array('Name' => 'John')));
     $this->assertEquals($list->column('Name'), array('Steve', 'Bob', 'John'));
 }
开发者ID:maent45,项目名称:redefine_renos,代码行数:5,代码来源:ArrayListTest.php

示例5: testVFI

 public function testVFI()
 {
     // Given a simple definition, spec should be properly fleshed out
     $spec = VirtualFieldIndex::get_vfi_spec('Product');
     $this->assertEquals('simple', $spec['Price2']['Type']);
     $this->assertEquals('all', $spec['Price2']['DependsOn']);
     $this->assertEquals('sellingPrice', $spec['Price2']['Source']);
     // Given a simple array definition, spec should be properly fleshed out
     $spec = VirtualFieldIndex::get_vfi_spec('Product');
     $this->assertEquals('list', $spec['Category']['Type']);
     $this->assertEquals('all', $spec['Category']['DependsOn']);
     $this->assertEquals('Parent', $spec['Category']['Source'][0]);
     // build the vfi just in case
     VirtualFieldIndex::build('Product');
     $p = $this->objFromFixture('Product', 'p4');
     $cats = new ArrayList(array($this->objFromFixture('ProductCategory', 'c1'), $this->objFromFixture('ProductCategory', 'c2'), $this->objFromFixture('ProductCategory', 'c3')));
     // vfi fields should be present and correct
     $this->assertTrue($p->hasField('VFI_Price'), 'Price index exists');
     $this->assertEquals(5, $p->VFI_Price, 'Price is correct');
     $this->assertTrue($p->hasField('VFI_Category'), 'Category index exists');
     $this->assertEquals('>ProductCategory|' . implode('|', $cats->column('ID')) . '|', $p->VFI_Category, 'Category index is correct');
     // vfi accessors work
     $this->assertEquals(5, $p->getVFI('Price'), 'Simple getter works');
     $this->assertEquals($cats->toArray(), $p->getVFI('Category'), 'List getter works');
     $this->assertNull($p->getVFI('NonExistentField'), 'Non existent field should return null');
 }
开发者ID:hex0id,项目名称:silverstripe-shop-search,代码行数:26,代码来源:ShopSearchTest.php

示例6: testByIDs

 public function testByIDs()
 {
     $list = new ArrayList(array(array('ID' => 1, 'Name' => 'Steve'), array('ID' => 2, 'Name' => 'Bob'), array('ID' => 3, 'Name' => 'John')));
     $knownIDs = $list->column('ID');
     $removedID = array_pop($knownIDs);
     $filteredItems = $list->byIDs($knownIDs);
     foreach ($filteredItems as $item) {
         $this->assertContains($item->ID, $knownIDs);
         $this->assertNotEquals($removedID, $item->ID);
     }
 }
开发者ID:aaronleslie,项目名称:aaronunix,代码行数:11,代码来源:ArrayListTest.php


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