El error dice que el string ‘CURRENT_TIMESTAMP’ no es un valor correcto para el campo yp1, que es ‘modified_at’ y está esperando un timestamp.
Si te fijas en la sentencia ejecutada, el campo :yp0 (created_at) tiene un valor de timestamp “correcto” (‘2022-12-16 16:54:26’) pero el modified_at no interpreta correctamente ese CURRENT_TIMESTAMP, que es una función de SQL, y lo intenta meter como un string así sin anestesia.
En tu código, puedes apañarlo utilizando php para pasar la fecha.
$model->modified_at = date ('Y-m-d H:s:i');
Escribo de memoria, pero creo que ese formato sería correcto.
Como alternativa, porque hay varias formas de hacer esto, Yii2 tiene un behavior específico que debería facilitar estas cosas, que es el timestamp behavior.
Algo así debería funcionar:
namespace app\models\AccionesEstudios;
use yii\db\ActiveRecord;
use yii\behaviors\TimestampBehavior;
class AccionesEstudios extends ActiveRecord
{
// ...
public function behaviors()
{
return [
[
'class' => TimestampBehavior::class,
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'modified_at'],
ActiveRecord::EVENT_BEFORE_UPDATE => ['modified_at'],
],
// Para usar datetime en lugar de timestamp se añade esto, pero a mi nunca me ha
// funcionado
// 'value' => new Expression('NOW()'),
],
];
}
}
Pues la verdad es que para Yii 1.1 no sabría decirte, pero si tienes eventos en el model puedes usarlos para hacer lo mismo e insertar a mano las fechas que toquen cuando crees o actualices un registro.