Saya perlu menggunakan metode sql AES_DECRYPT tetapi string tidak didekripsi.
ini berfungsi di sql tetapi tidak di metode afterfind yii2
itu mengembalikan respons seperti gambar di bawah ini.
public function afterFind() {
parent::afterFind();
//$this->name = new Expression('AES_DECRYPT("'.$this->name.'", "key test") as name ');
$this->name = new Expression('cast(AES_DECRYPT("'.$this->encrypt_name.'", "key test") as char) as name');
//return true;
}
AES_DECRYPT
tidak akan berfungsi diafterFind()
karena harus diproses oleh MySql (Anda bisa menggunakan PHP tetapi kemungkinan besar Anda juga ingin mengenkripsinya dalam PHP). Bisakah Anda menggunakan EkspresiAES_DECRYPT
saat mengambil data dengan memodifikasi kueriselect
atau serupa? - person ldg   schedule 04.04.2018afterFind
. Anda ingin mendekripsi selama kueri atau sesudahnya? Jika Anda memanggilafterFind()
dalam model, Anda melakukannya setelah kueri dieksekusi. Jadi, menggunakan kelas seperti yii\db\Expression pada beberapa atribut yang sudah terisi tidak masuk akal. - person R13e   schedule 05.04.2018