Yii2 работает с частной собственностью - не столбец БД - PullRequest
0 голосов
/ 10 сентября 2018

Я работаю с Yii2 и до сих пор использую общедоступное свойство для столбцов без базы данных, как показано ниже:

public $category_id;
public function rules() {
        return [
            [['category_id'], 'safe'],           
        ];
    }
//// inside $dataProvider
$this->load($params);

работает отлично. но теперь я хочу сделать category_id закрытым, так как управлять им внутри правил и как загружать, а также устанавливать внутри элемента формы при загрузке?

1 Ответ

0 голосов
/ 10 сентября 2018

Вы можете использовать аксессор и мутатор для доступа к вашему личному атрибуту, например:

private category_id;

public function setCategory (value)
{
    $this->category_id = value;
}

public function getCategory()
{
    return $this->category_id;
}

Эти методы позволяют использовать закрытый атрибут как открытый атрибут с другим именем в других частях приложения. Например, вы можете использовать его в правилах

public function rules()
{
    return [['category', 'safe']];
 }

Или в другом коде:

$model->category = 777
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...