Silverstripe table_name not set for class

I am just learning SilverStripe, and actually I have problems with the lessons on the silverstripe website.

I have this class:

namespace SilverStripe\Lessons;

use Page;

class ArticlePage extends Page
{
    private static $can_be_root = false;
    private static $db = [
        'Date' => 'Date',
        'Teaser' => 'Text',
        'Author' => 'Varchar(255)',
    ];

//    public function getCMSFields(){
//        $fields = parent::getCMSFields();
//        $fields = addFieldToTab();
//        return $fields;
//    }

}

Now that I am in / dev / build, I get this feedback on the build page: enter image description here

So, what I did next actually commented out the declaration of the $ db array. Then I got this feedback from dev / build:

enter image description here

, , . dev/build , _ . , _, . , _ SilverStripe\Lessons\ArticlePage. , table_name "" table_name ?

, , SilverStripe\Lessons\ArticlePage _ , "2", table_name, , , , . , , , , , , , . , table_name ArticlePage? - ? .

+4
1

, table_name ( DataObjects), .

, :

private static $table_name = 'ArticlePage';

, . , , .

YML. , _config/mysite.yml :

SilverStripe\Lessons\ArticlePage:
  table_name: ArticlePage

: table_name SilverStripe 4.0.0, , , .

+7

Source: https://habr.com/ru/post/1693684/


All Articles