добавить поле mysql с помощью cakeStack Overflow

Может кто-нибудь помочь мне с этим кодом CakePHP?

я пытаюсь добавить поле в UpdateAll …

$this->MyModel->updateAll(
array(
'MyModel.Field1'     => ***MyModel.Field1 & 'ok'***,
),
array('MyModel.Field2' => 'lorem')
);

-3

Решение

Как упоминалось в документах, $fields аргумент Model::updateAll() принимает выражения SQL, так что просто передайте все, что нужно, в вашем случае, вероятно, CONCAT операция:

$this->MyModel->updateAll(
array('MyModel.Field1' => "CONCAT(MyModel.Field1, 'ok')"),
array('MyModel.Field2' => 'lorem')
);

И не забывайте, что значения не экранируются! Если вы планируете вводить пользовательские данные, убедитесь, что вы правильно их подготовили, используя DboSource::value(), К сожалению, нет возможности связать параметры при использовании updateAll(), который всегда должен быть методом выбора для вставки данных, когда автоматическое экранирование не применяется.

Смотрите также http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-updateall-array-fields-mixed-conditions

2

Другие решения

Других решений пока нет …