Hey yo quiero guardar los datos en mi base de datos con CakePHP 3.8. Todas las obras, pero he añadido un nuevo campo "created_by" y la cambiaron en la carpeta de modelos.
este es mi RequestTable.php
public function validationDefault(Validator $validator){
.... (more, but not important)
$validator
->scalar('created_by')
->maxLength('created_by', 100)
->allowEmptyString('created_by');
return $validator;
}
Mi archivo entidad "Request.php"
En lo alto
* @property string|null $created_by
y
protected $_accessible = [
... (more)
'created_by' => true,
];
Mi código donde quiero guardar los datos:
$request = $this->Requests->newEntity();
$session = $this->getRequest()->getSession();
if(!empty($session->read('Auth.User.username'))){
$this->request->data['Requests']['created_by'] = $session->read('Auth.User.username');
}
$request = $this->Requests->patchEntity($request, $this->request->getData('Requests'));
if ($result = $this->Requests->save($request)) {
...
}
En la verificación vacía que va en la cláusula. Después de la patchEntity el resultado es la información correcta. Lo mismo en el salve.
La columna de la tabla se ve como created_by
VARCHAR (100) NULL DEFAULT
No sé por qué es imposible guardar los datos. Si alguien tiene más preguntas sobre el código por favor pregunte :)
No sé por qué, pero si puedo crear una nueva base de datos con el mismo esquema que funciona. Gracias por toda tu ayuda :)