一对多关联
具体示例代码可以看imi-demo项目,下面仅为简单展示。
具体示例代码可以看imi-demo项目,下面仅为简单展示。
当然imi-demo里一对多的例子选的不好,不过不重要,理解意思就行。
一对多关联会用到的注解:
如 imi-demo 中代码所示,UserWithFriend
继承User
。类定义了一个$friends
属性,这个属性关联UserFriend
模型。
中id
与UserFriend
中user_id
关联,你可能会发现没有@JoinFrom
注解,没有的话默认取左侧模型的主键。
查询
var_dump($model->friends); // friends数据可以直接取到,是UserFriend实例
select
$user = UserWithFriend::newInstance();
$user->username = 'Yurun';
// 由于继承了User类,所以一对一关系还是存在,依旧可以使用
$user->ex->intro = '这个人很懒,什么也没留下';
$user->friends->append(
UserFriend::newInstance(['friend_user_id'=>1]),
);
$result = $user->insert();
更新
和insert、update同理,就不作演示了。
删除
$user = UserWithFriend::find(1);
// 删除ID为1的记录,UserEx对应表也会删除这条关联记录
$result = $user->delete();
if($result->isSuccess())
{
echo 'success';