Maison >cadre php >PensezPHP >Problème de conversion de type de modèle dans tp5.0

Problème de conversion de type de modèle dans tp5.0

藏色散人
藏色散人avant
2019-08-19 14:22:382705parcourir

Problème de conversion de type de modèle dans tp5.0

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer