Hay dos situaciones diferentes para su ejemplo:
- $ data contiene un registro completo de los datos de su modelo. A continuación, puede acceder a los datos $ [ 'Modelo'] [ ''] dataChangeByBehaviors:
if ($this->Model->save($data)){
$data['Model']['dataChangeByBehaviors']; //---- I want get this
}
lo tanto, aquí la respuesta es: usted ya tiene los datos.
(Nota: Si se trata de un nuevo registro, $ de datos, por supuesto, no contiene la ID, que necesita obtener a partir $ this-> Modelo-> Identificación del Y si va a realizar cualquier cambio en. la devolución de llamada beforeSave(), estos por supuesto no se reflejarán en su $ data).
- $ de datos contiene solamente ciertos campos que actualice en un registro. Entonces no hay otra manera de obtener el registro completo, aparte de la lectura de la base de datos - que es lo que está haciendo ya y se puede simplificar como se sugiere por Leo:
if ($this->Model->save($data)){
$last = $this->Model->read(null,$this->Model->id);
$last['Model']['dataChangeByBehaviors']; //---- I want get this
}
Así que aquí la respuesta es : No hay forma de obtener los datos sin una solicitud de base de datos.
Puede aclarar, realmente no entiendo lo que está preguntando. – Brian
Quiero obtener datos como $ last en el ejemplo anterior que no necesitan seleccionar la base de datos. – meotimdihia
Por favor, revise nuevamente estas preguntas y respuestas. Tengo la sensación de que todavía no está claro. Y también como hace algún tiempo, ¿lo resolvió usted mientras tanto o cuál fue su solución/alternativa? – hakre