Bake\Shell\Task\ModelTask::getHiddenFields PHP Метод

getHiddenFields() публичный Метод

Uses the hidden and no-hidden options.
public getHiddenFields ( Table $model ) : array
$model Cake\ORM\Table The model to introspect.
Результат array The columns to make accessible
    public function getHiddenFields($model)
    {
        if (!empty($this->params['no-hidden'])) {
            return [];
        }
        if (!empty($this->params['hidden'])) {
            $fields = explode(',', $this->params['hidden']);
            return array_values(array_filter(array_map('trim', $fields)));
        }
        $schema = $model->schema();
        $columns = $schema->columns();
        $whitelist = ['token', 'password', 'passwd'];
        return array_values(array_intersect($columns, $whitelist));
    }

Usage Example

Пример #1
0
 /**
  * Test getting hidden field with a whitelist
  *
  * @return void
  */
 public function testGetHiddenFieldsWhiteList()
 {
     $model = TableRegistry::get('Users');
     $this->Task->params['hidden'] = 'id, title  , , body ,  created';
     $result = $this->Task->getHiddenFields($model);
     $expected = ['id', 'title', 'body', 'created'];
     $this->assertEquals($expected, $result);
 }