[6.x]: yii2-adapter: yii\db\Expression assigned to an ActiveRecord attribute becomes a JSON string
Los mantenedores suelen responder en 1 día
@riasvdv ya está trabajando en esto.
Desde el 13/10/2026.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Start by tracing how yii\db\Expression is handled when assigned to an ActiveRecord attribute and passed through update(), comparing the Craft 5 and Craft 6 behavior described here. Reproduce with the shown assignment and MySQL 8.4.5; done means the column receives the expression result (today + 1) rather than its JSON representation. The issue names no source file or test, so locating the relevant code and a regression test will take project familiarity.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happened?
Description
I’m testing a plugin for Craft 6 via yii2-adapter. I found a behavior change with yii\db\Expression.
This code works in the previous Craft version:
$record->today = new \yii\db\Expression('today + 1');
$record->update();
in craft 5, var_dump($record->today) shows an Expression object:
object(yii\db\Expression)#572 (2) { ["expression"]=> string(9) "today + 1" ... }
In Craft 6, the same dump shows a JSON string:
string(38) "{"expression":"today + 1","params":[]}"
update() returns 1. But the column gets that JSON text, not today + 1. So the counter never increases.
I’m not sure this is related to Craft 6. It may be caused by something else in my setup or plugin.
Thanks!
Craft CMS version
6.0.0-alpha.20
PHP version
No response
Operating system and version
No response
Database type and version
MySQL 8.4.5
Image driver and version
No response
Installed plugins and versions
- vnali/craft-counter
- Lenguaje dominante
- PHP
- Estrellas
- 3.6k
- Forks
- 710
- Merge medio
- 11 h 29 min
- PR fusionados (30 d)
- 265
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de craftcms/cms
-
[5.x]: Passkeys registered with webauthn-lib v4 still fail with an uncaught InvalidUserHandleException (HTTP 500) after the #19530 fixPosiblemente ocupada @i-just la tomó hace 5 días. Abiertorepo:cms
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
craftcms/cms#20052 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[6.x]: Colored chips: link blue has low contrast on tinted backgroundsPosiblemente ocupada @brandonkelly la tomó hace 11 días. Abiertobug repo:cms
craftcms/cms#19984 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
bug repo:cms
Dificultad 3/5 1-2 días Aptitud para principiantes 62/100
craftcms/cms#19980 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
[6.x]: Text in some input fields is clipped at the bottom on WindowsPosiblemente ocupada @brianjhanson la tomó hace 16 días. Abiertobug repo:cms
craftcms/cms#19928 · 4 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
bug repo:cms
Dificultad 4/5 3-5 días Aptitud para principiantes 15/100
craftcms/cms#19916 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de craftcms/cms
Issues similares
-
Bug-Report
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
RSS-Bridge/rss-bridge#5158 ·
Los mantenedores suelen responder en 1 día
-
triage needed
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
kanboard/kanboard#5937 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
octobercms/october#6150 ·
-
Syntax error with CONST-sAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
flarum/framework#5301 · 1 comentario ·
Los mantenedores suelen responder en 1 día