Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Line 426 in sapphire/core/model/MySQLDatabase.php


Reply

1063 Views

Avatar
Tonyair

4 July 2010 at 7:58pm (Last edited: 4 July 2010 8:00pm), Community Member, 81 Posts

Hello, I'm just updated SS to rev. 107443

And now after http://127.0.0.1/stable/dev/build?flush=1

I'm getting those notice:

[Notice] Undefined offset: 1
GET /stable/dev/build?flush=1

Line 426 in /home/a2nt/work/www/stable/sapphire/core/model/MySQLDatabase.php

Source

417     * @param string $indexName
418     * @param string|array $indexSpec See {@link requireTable()} for details
419     * @return string MySQL compatible ALTER TABLE syntax
420     */
421    protected function getIndexSqlDefinition($indexName, $indexSpec=null) {
422    
423       $indexSpec=$this->convertIndexSpec($indexSpec);
424       
425       $indexSpec = trim($indexSpec);
426       if($indexSpec[0] != '(') list($indexType, $indexFields) = explode(' ',$indexSpec,2);
427     else $indexFields = $indexSpec;
428    
429     if(!isset($indexType))
430          $indexType = "index";
431       
432       if($indexType=='using')
Trace

MySQLDatabase->getIndexSqlDefinition(Uniques,Unique('URLSegment'))
Line 225 of MySQLDatabase.php
MySQLDatabase->createTable(Page,Array,Array,Array,)
Line 181 of Database.php
SS_Database->endSchemaUpdate()
Line 213 of DatabaseAdmin.php
DatabaseAdmin->doBuild(,1)
Line 105 of DatabaseAdmin.php
DatabaseAdmin->build(SS_HTTPRequest)
Line 193 of Controller.php
Controller->handleAction(SS_HTTPRequest)
Line 137 of RequestHandler.php
RequestHandler->handleRequest(SS_HTTPRequest)
Line 147 of Controller.php
Controller->handleRequest(SS_HTTPRequest)
Line 134 of DevelopmentAdmin.php
DevelopmentAdmin->build(SS_HTTPRequest)
Line 137 of RequestHandler.php
RequestHandler->handleRequest(SS_HTTPRequest)
Line 147 of Controller.php
Controller->handleRequest(SS_HTTPRequest)
Line 283 of Director.php
Director::handleRequest(SS_HTTPRequest,Session)
Line 127 of Director.php
Director::direct(/dev/build)
Line 127 of main.php

And I think that as the result ShowInTopMenu described below column isn't created.

class Page extends SiteTree {

   public static $db = array(
      "ShowInTopMenu" => "Boolean"
   );

   public static $has_one = array(
      "Sidebar" => "WidgetArea",
   );
   static $indexes = array(
      "SearchFields" => "fulltext (Title, MenuTitle, Content, MetaTitle, MetaDescription, MetaKeywords)",
      "TitleSearchFields" => "fulltext (Title)",
      "Sort" => true,
      "Uniques" => "Unique('URLSegment')",
   );
   static $searchable_fields = array(
      
         'Title' => "PartialMatchFilter",
         'Content' => "PartialMatchFilter",
         'MenuTitle' => "PartialMatchFilter",
         'Content' => "PartialMatchFilter",
         'URLSegment' => "PartialMatchFilter"
      
   );
   //Show in search results
   static $summary_fields = array(
      'Title',
      'Menu',
      'Content'
   );
   function getCMSFields() {
      $fields = parent::getCMSFields();
      $fields->addFieldToTab("Root.Content.Widgets", new WidgetAreaEditor("Sidebar"), "ShowInTopMenu", "Show in top menu ");
      return $fields;
   }
}