My-Modell wie folgt definiert ist:Kuchen 3: Spalte des Typs JSON speichert eine NULL als String „null“
<?php
namespace App\Model\Table;
use Cake\ORM\Table;
use Cake\Database\Schema\Table as Schema;
class AppLogsTable extends Table
{
protected function _initializeSchema(Schema $schema) {
$schema->columnType('data', 'json');
return $schema;
}
}
JSON-Format korrekt angewendet wird, wenn sie in Datenbank speichern und beim Abrufen von Daten. Wenn ich jedoch $appLog->data = null
einstelle und es durch $this->appLogs->save($appLog)
speichere, würde eine Zeichenkette null
in der Datenbank gespeichert werden, anstatt ein echter NULL Wert. Die Spalte data
in der Tabelle app_logs
ist so eingestellt, dass Nullen akzeptiert werden.
Wenn ich die Spaltentypdefinition auskommentiere, werden Nullen korrekt gespeichert.
Wie den automatischen JSON-Datentyp beibehalten und NULL korrekt aus dem Modell speichern?
dies Nachdem ich (und ich selbst dies ein paar Mal erlebt) Ich denke, es ist Zeit sein könnte, diese pluginize: Siehe [Shim Plugin PR] (https://github.com/dereuromark/cakephp-shim/pull/10). – mark