如何在Yii2中处理多对多关系

一些

例如,由于文档(http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#relational-data一对多,您可以通过以下方式链接两个模型(one-many = company-zone)

$defaultZone = new Zone;
$defaultZone->name = Zone::DEFAULT_ZONE;
$company->link('zones', $defaultZone);

但是,当您拥有运输表时,它如何用于多对多关系tbl_user_market(user_id, market_id)

vim

当使用联结表进行多对多关系时,您必须

  1. 定义关系
  2. 将两个模型链接在一起

在用户模型中,定义以下关系函数:

public function getMarkets() {
    return $this->hasMany(Market::className(), ['id' => 'market_id'])
      ->viaTable('tbl_user_market', ['user_id' => 'id']);
}

在市场模型中,定义以下关系函数:

public function getUsers() {
    return $this->hasMany(User::className(), ['id' => 'user_id'])
      ->viaTable('tbl_user_market', ['market_id' => 'id']);
}

最后,保存两个模型后,将它们链接在一起:

$user = new User;
$user->name = 'Foo';
$user->save();

$market = new Market;
$market->name = 'Bar';
$market->save();

$user->link('markets', $market);

的调用link()将填充联结表。

参考:http : //www.yiiframework.com/doc-2.0/yii-db-baseactiverecord.html#link()-detail

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

yii2 activedataprovider 中的多对多关系

来自分类Dev

我如何从表中获取与yii2中多对多关系的数据?

来自分类Dev

如何在Yii2 GridView和DetailView中显示有很多关系记录?

来自分类Dev

如何在Flask-Admin表单中处理有序的多对多关系(关联代理)?

来自分类Dev

如何在yii2中创建批处理插入

来自分类Dev

如何处理Microsoft Access中的多对多关系?

来自分类Dev

多对多关系中的Yii mergeWith()

来自分类Dev

如何在Django中从多对多关系中检索数据

来自分类Dev

如何在推进中从多对多关系中检索行?

来自分类Dev

Yii2多对多模型关系

来自分类Dev

如何在Laravel中从多对多关系的一对多关系中获取项目?

来自分类Dev

如何在Grails的“多对多关系”中获取dateCreate?

来自分类Dev

如何在解析中创建嵌套的多对多关系

来自分类Dev

如何在laravel模型中定义多对多关系?

来自分类Dev

如何在Entity Framework 6中删除多对多关系

来自分类Dev

如何在PostgresSQL中对多对多关系施加约束?

来自分类Dev

如何在Cosmos DB中构造多对多关系

来自分类Dev

如何在Laravel 6/7中访问多对多关系

来自分类Dev

如何在Directus的多对多关系中显示标签?

来自分类Dev

如何在gorm中创建双向多对多关系

来自分类Dev

如何在Oracle中获取多对多关系查询?

来自分类Dev

如何在多对多关系中更新外键

来自分类Dev

如何在Django中过滤多对多关系

来自分类Dev

如何在 Laravel 中查询逆多对多关系

来自分类Dev

如何从2多对多关系中查找关联记录

来自分类Dev

如何从2多对多关系中查找记录

来自分类Dev

如何从2多对多关系中查找关联记录

来自分类Dev

如何从2多对多关系中查找记录

来自分类Dev

递归与Yii的多对多关系

Related 相关文章

  1. 1

    yii2 activedataprovider 中的多对多关系

  2. 2

    我如何从表中获取与yii2中多对多关系的数据?

  3. 3

    如何在Yii2 GridView和DetailView中显示有很多关系记录?

  4. 4

    如何在Flask-Admin表单中处理有序的多对多关系(关联代理)?

  5. 5

    如何在yii2中创建批处理插入

  6. 6

    如何处理Microsoft Access中的多对多关系?

  7. 7

    多对多关系中的Yii mergeWith()

  8. 8

    如何在Django中从多对多关系中检索数据

  9. 9

    如何在推进中从多对多关系中检索行?

  10. 10

    Yii2多对多模型关系

  11. 11

    如何在Laravel中从多对多关系的一对多关系中获取项目?

  12. 12

    如何在Grails的“多对多关系”中获取dateCreate?

  13. 13

    如何在解析中创建嵌套的多对多关系

  14. 14

    如何在laravel模型中定义多对多关系?

  15. 15

    如何在Entity Framework 6中删除多对多关系

  16. 16

    如何在PostgresSQL中对多对多关系施加约束?

  17. 17

    如何在Cosmos DB中构造多对多关系

  18. 18

    如何在Laravel 6/7中访问多对多关系

  19. 19

    如何在Directus的多对多关系中显示标签?

  20. 20

    如何在gorm中创建双向多对多关系

  21. 21

    如何在Oracle中获取多对多关系查询?

  22. 22

    如何在多对多关系中更新外键

  23. 23

    如何在Django中过滤多对多关系

  24. 24

    如何在 Laravel 中查询逆多对多关系

  25. 25

    如何从2多对多关系中查找关联记录

  26. 26

    如何从2多对多关系中查找记录

  27. 27

    如何从2多对多关系中查找关联记录

  28. 28

    如何从2多对多关系中查找记录

  29. 29

    递归与Yii的多对多关系

热门标签

归档