bfwsoa实现关联查询、关联添加、关联修改、关联删除之Relate介绍

bfwsoa实现关联查询、关联添加、关联修改、关联删除之Relate介绍

bfwsoa实现关联查询、关联添加、关联修改、关联删除之Relate介绍

bfwsoa简化了模型之间的关联,多个模型之间可以通过关联进行增删改查,非常方便,今天我们来介绍一下model中的relate关联功能。

Relate("模型名称","模型数据,如果查询就设为null",“”模型关联查询参数“”),返回的是模型对象

举个例子,现在有用户表、用户余额表、用户收货地址表、分组表、用户分组表,那么对应的模型是

用户模型(Model_User)、用户余额模型(Model_Balance)、分组模型(Model_Kind)、用户分组模型(Model_UserKind)、用户地址模型(User_Address)

那么模型之间的关系为,用户模型-用户余额模型是1:1的关系,一个用户在系统的账户余额只有一个,用户模型与分组模型是多对多的关系,一个用户可以属于多个组,1个组也可以有多个用户,最后一个用户模型与用户收货地址是1对多的关系,一个用户可以有多个收货地址。

好了,那么如果增加用户的同时,增加用户分组、增加用户地址、增加用户余额,bfwsoa怎么写呢?

Model_User::getInstance()->Relate("Balance",["money"=>0])->Relate("UserKind",[1,3,4])->Relate("Address",[["address"=>"地址1"],["address"=>"地址2"]])->Insert(['username'=>"wangbo","userpwd"=>""wanbg]);

上面语句的意思就是插入用户wangbo的同时,插入用户余额表,余额为0,同时将用户的类型设置为1,3,4,增加用户的地址。那么查询的时候也是很方便

Model_User::getInstance()->Relate()->Single("*",1);

上面语句的意思就是取出用户id为1的用户表信息,用户分组信息、用户地址信息、用户余额信息,还可以自定义查询关联信息

比如说我只想取出这个用户的信息和地址信息

Model_User::getInstance()->Relate("Address")->Single("*",1);


{{collectdata}}

网友评论0