亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

轉(zhuǎn)換字段

例如我們有數(shù)據(jù)表 student_infoDDL 如下:

CREATE TABLE `student_info` (
  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
  `studentId` int unsigned NOT NULL DEFAULT '0' COMMENT 'student id',
  `address` json DEFAULT NULL COMMENT 'address',
  `note` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'note',
  `sex` tinyint unsigned NOT NULL DEFAULT '0' COMMENT 'sex:1=male 2=female 0=unknown',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

我們可以對 addresssex 字段做轉(zhuǎn)換處理來滿足業(yè)務(wù)開發(fā)需求,這里我們用到了 php8 的枚舉特性。

定義為模型為:

<?php
namespace EasySwoole\FastDb\Tests\Model;

use EasySwoole\FastDb\AbstractInterface\AbstractEntity;
use EasySwoole\FastDb\Attributes\Property;
use EasySwoole\FastDb\Tests\Model\Address;
use EasySwoole\FastDb\Tests\Model\SexEnum;

class StudentInfoModel extends AbstractEntity
{
    #[Property(isPrimaryKey: true)]
    public int $id;

    #[Property()]
    public int $studentId;

    #[Property(
        convertObject: Address::class
    )]
    public Address $address;

    #[Property]
    public ?string $note;

    #[Property(
        convertObject: SexEnum::class
    )]
    public SexEnum $sex;

    function tableName(): string
    {
        return "student_info";
    }
}

Address.php

<?php
namespace EasySwoole\FastDb\Tests\Model;

use EasySwoole\FastDb\AbstractInterface\ConvertJson;

class Address extends ConvertJson
{
    public $city;
    public $province;
}

SexEnum.php 使用枚舉特性。

<?php
namespace EasySwoole\FastDb\Tests\Model;

use EasySwoole\FastDb\AbstractInterface\ConvertObjectInterface;

enum SexEnum implements ConvertObjectInterface
{
    case UNKNUWN;
    case MALE;
    case FEMAILE;

    public static function toObject(mixed $data): object
    {
        switch ($data){
            case 1:{
                return self::MALE;
            }
            case 2:{
                return self::FEMAILE;
            }
            default:{
                return self::UNKNUWN;
            }
        }
    }

    function toValue()
    {
        return match ($this){
            self::MALE=>1,
            self::FEMAILE=>2,
            default=>0
        };
    }
}

轉(zhuǎn)換字段使用示例:

<?php
// 添加記錄
$address = new \EasySwoole\FastDb\Tests\Model\Address();
$address->province = 'FuJian';
$address->city = 'XiaMen';
$sex = \EasySwoole\FastDb\Tests\Model\SexEnum::MALE;
$model = new StudentInfoModel([
    'studentId' => 1,
    'address'   => $address->toValue(),
    'sex'       => $sex->toValue(),
    'note'      => 'this is note',
]);
// or
// $model->address = $address;
// $model->sex = $sex;
$model->insert(); // INSERT  INTO `student_info` (`studentId`, `address`, `note`, `sex`)  VALUES (1, '{\"city\":\"XiaMen\",\"province\":\"FuJian\"}', 'this is note', 1)

// 查詢一條數(shù)據(jù)
$studentInfo = StudentInfoModel::findRecord(1);
var_dump($studentInfo->address->city); // "XiaMen"
var_dump($studentInfo->address->province); // "FuJian"
var_dump($studentInfo->sex); // 枚舉類型 enum(EasySwoole\FastDb\Tests\Model\SexEnum::MALE)
var_dump($studentInfo->toArray(false));

// 查詢多條數(shù)據(jù)
$studentInfo = new StudentInfoModel();
$studentInfos = $studentInfo->all();
foreach ($studentInfos as $studentInfo) {
    var_dump($studentInfo->address->city);
    var_dump($studentInfo->address->province);
    var_dump($studentInfo->sex);
    var_dump($studentInfo->toArray(false));
}
亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    九色91在线视频| 99国产精品久久久久老师 | 日韩视频在线一区二区三区| 国产综合网站| 国产精品swag| 精品成人一区| 色乱码一区二区三在线看| 亚洲伦理精品| 美日韩免费视频| 艳色歌舞团一区二区三区| 欧美综合二区| 欧美午夜精品久久久久免费视| 久久先锋资源| 亚洲精品色图| 狠狠88综合久久久久综合网| 日韩视频不卡| www.一区二区三区| 亚洲日本精品国产第一区| 国产精品夜夜夜| 国内久久视频| 久久婷婷国产综合尤物精品| 乱色588欧美| 久久国产精品久久精品国产| 中日韩在线视频| 香蕉久久免费影视| 日本视频一区二区在线观看| 国产精品国产三级欧美二区| 亚欧精品在线| 国产一区二区你懂的| 欧美日韩电影一区二区| 精品国产一区二区三区日日嗨| 99国产高清| 999国内精品视频在线| 日本午夜精品一区二区三区| 亚洲第一区色| 欧美中文字幕| 亚洲永久一区二区三区在线| 亚洲永久网站| 美女国产精品| 综合视频免费看| 日本婷婷久久久久久久久一区二区| 亚洲国产高清一区二区三区| 国产一区福利视频| 欧美日韩亚洲综合一区二区三区激情在线 | 成人av资源网| 9色国产精品| 日韩一本精品| 成人免费视频视频在| 亚洲成人原创| 亚洲一区美女| 欧美精品一区二区三区四区五区| 性感少妇一区| 亚洲无线一线二线三线区别av| 另类小说综合网| 51蜜桃传媒精品一区二区| 99国产视频| 国产日韩亚洲| 激情综合电影网| 在线精品亚洲一区二区| 日本不卡免费新一二三区| 国产精品99久久久久久久| 久久亚洲图片| 亚久久调教视频| 一区二区久久| 久草热久草热线频97精品| 噜噜噜躁狠狠躁狠狠精品视频| 在线播放不卡| 影音先锋久久资源网| 自拍视频一区二区三区| 艳色歌舞团一区二区三区| 亚洲一区二区三区精品视频| 久久99精品国产99久久| 国产在线精品一区二区三区》 | 亚洲第一黄色| 国产一区在线免费观看| 欧美激情综合色综合啪啪| 欧美亚洲免费在线| 亚洲视频播放| 国产精品久久亚洲7777| 亚洲最黄网站| 麻豆成人精品| 国产99视频精品免费视频36| 国产日韩三区| 日本精品一区二区| 欧美jizzhd精品欧美巨大免费| 午夜久久福利| 亚洲伦理精品| 91精品国产综合久久久久久丝袜| 国产一区二区三区黄| 日本午夜精品一区二区| 宅男av一区二区三区| 在线观看欧美亚洲| 国产美女精品| 国产精品我不卡| 日本在线播放一区| 国产精品啊啊啊| 国产日韩欧美一区二区| 国产精品国产三级国产专区53| 欧美裸体网站| 欧美视频二区| 51成人做爰www免费看网站| 美女被啪啪一区二区| 欧美日韩亚洲一区二区三区在线| 在线观看亚洲视频啊啊啊啊| 麻豆9191精品国产| 婷婷久久伊人| 国产精品久久波多野结衣| 国产欧美一区二区三区另类精品 | 日韩jizzz| 亚洲图片欧洲图片日韩av| 羞羞答答国产精品www一本| 六月婷婷久久| 精品1区2区3区4区| 国产精品区一区二区三含羞草| 精品国产_亚洲人成在线| 亚洲精品第一区二区三区| 亚洲第一伊人| 麻豆亚洲一区| 亚洲尤物影院| 亚欧精品在线| 147欧美人体大胆444| 欧美激情成人在线| 91超碰在线电影| 欧美伊人影院| 国产精品一区二区三区不卡| 女主播福利一区| 国外成人在线视频网站| 亚洲无吗在线| 麻豆亚洲一区| 性娇小13――14欧美| 午夜精品剧场| 欧美精品123| 久久精品导航| 狠狠干综合网| 深夜福利成人| 国产亚洲一区二区三区在线播放| 亚洲无线一线二线三线区别av| 精品亚洲欧美日韩| 午夜亚洲伦理| 国内一区二区在线视频观看| 精品视频导航| 51国偷自产一区二区三区 | 久久久久久欧美精品色一二三四| 亚洲夜间福利| 亚洲春色在线视频| 国产精品有限公司| 亚洲综合三区| 影音先锋亚洲一区| 欧美成人嫩草网站| 日韩高清dvd| 蜜桃传媒视频第一区入口在线看| 久久国产高清| av不卡在线| 亚洲视频日本| 欧美久久99| 宅男在线精品国产免费观看| 欧美精品一区在线| 成人在线观看91| 久久aⅴ国产紧身牛仔裤| 一道本一区二区| 亚洲狼人精品一区二区三区| 好看不卡的中文字幕| 女同一区二区| 欧美网站在线| 激情五月***国产精品| 欧美激情91| 在线观看亚洲视频啊啊啊啊| 精品动漫av| 91久久久久| 日韩午夜视频在线观看| 亚洲巨乳在线| 每日更新成人在线视频| 久热国产精品| 国产精品久久久久久久久久久久午夜片 | 国产福利不卡| 国产女主播一区二区| 国产伦精品一区二区三区视频孕妇 | 久久一二三四| 成人免费91在线看| 国产一区不卡在线观看| 欧美精品亚洲| 欧美一区二区三区免费看| 韩国精品一区二区三区| 伊人久久婷婷色综合98网| 一区二区三区四区国产| 久久激情一区| 蜜桃成人在线| 亚洲人成人77777线观看| 午夜国产精品视频| 激情久久久久久| 久久久夜夜夜| 久久久影院一区二区三区| 亚洲国产精品日韩| 影院欧美亚洲| 久久亚洲不卡| 日韩一区二区三区高清| 激情欧美一区| 国产亚洲情侣一区二区无| 欧美在线日韩| 久久99伊人|