Problème de conversion de type de modèle Tp5.0
Lors de l'utilisation de data ()->save () Quand, le deuxième paramètre de la fonction de données doit être défini sur true pour obtenir la conversion de type
class User extends Model { protected $type = [ 'status' => 'integer', 'score' => 'float', 'birthday' => 'datetime', 'info' => 'array', ]; }
1. La conversion de type est possible
$user = new User; $user->status = '1'; $user->score = '90.50'; $user->birthday = '2015/5/1'; $user->info = ['a'=>1,'b'=>2]; $user->save(); var_dump($user->status); // int 1 var_dump($user->score); // float 90.5; var_dump($user->birthday); // string '2015-05-01 00:00:00' var_dump($user->info);// array (size=2) 'a' => int 1 'b' => int 2
2. 3. La conversion de type est possible
$user = new User; $insert ['status'] = '1'; $insert ['score'] = '90.50'; $insert ['birthday'] = '2015/5/1'; $insert ['info'] = ['a'=>1,'b'=>2]; $user->data($insert)->save(); var_dump($user->status); // string '1'; var_dump($user->score); // string '90.5'; var_dump($user->birthday); // string '2015/5/1' var_dump($user->info);// array (size=2) 'a' => int 1 'b' => int 2
$user->data($insert, true)->save();
La conversion de type ne peut être effectuée que via la fonction setAttr
Cet article provient de la colonne d'articles techniques du framework ThinkPHP :
http://www.php .cn/phpkj/ thinkphp/Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!