Yii2如何检查两个模型是否已经链接

Arge

我有两个通过联结表关联的模型。

$model->link()是用于建立两个模型之间关系的方法。它基本上使用两个模型的对应键填充联结表。

如果链接了两个模型,而我尝试再次链接它们,则会出现错误,因为键对已经存在于联结表中。然后,在尝试链接模型之前,需要检查此关系是否存在。

我想我可以为联结表创建一个模型并查询正确的记录。该查询的结果将告诉我是否需要执行链接。

问题是:

使用某些yii内置方法,有没有一种简便的方法可以执行此检查?

硫磺化剂

ActiveQueryexists()满足您需求的方法。假设您有一个Book链接到Author该类的类。所以,BookgetAuthor()方法。这是查找相关记录是否存在的方法:

$book->getAuthor()->exists();

请注意,它$book->author返回的实例Author(如果是hasMany关系,则getAuthor()返回数组),而返回一个ActiveQuery实例。

执行exists()仍然像$book->author以前一样运行一个SQL查询,但是该查询比实际获取数据和创建相应的模型更有效。

另一方面,在许多情况下,性能改进是微不足道的,因此您可以运行isset($book->author)并完成它。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Yii2 AR 类可以检查,两个对象有链接吗?

来自分类Dev

Yii2检查延迟加载是否已经完成

来自分类Dev

如何在yii2中使用两个不同的模型登录或切换身份类?

来自分类Dev

Yii2在一个视图上渲染两个模型

来自分类Dev

Yii2在一个视图中渲染两个模型

来自分类Dev

yii检查两个非数据库模型的输入是否相等

来自分类Dev

通过yii2中的单个字段从两个模型搜索得到两个gridview

来自分类Dev

Yii2 - 唯一验证器两个属性不同的模型

来自分类Dev

Yii2如何在一个GridView中使用两种不同的模型

来自分类Dev

如何在yii2中组合select2上的两个属性

来自分类Dev

链接两个模型

来自分类Dev

将yii2中的两个模型项显示为单选列表,用户只能选择一个,而不能同时选择两个

来自分类Dev

Django-检查两个模型的主键是否匹配

来自分类Dev

Yii2两个submitButtons指向错误的URL

来自分类Dev

Yii2两个submitButtons指向错误的URL

来自分类Dev

比较yii2中的两个活动记录

来自分类Dev

Yii2输出sum()的两个列值

来自分类Dev

Yii2两个DetailView并排

来自分类Dev

Yii2 按钮有两个功能

来自分类Dev

Yii2如何使用PDO执行两个语句?或其他方式

来自分类Dev

如何在yii2中使用来自两个表的显示数据

来自分类Dev

如何使Yii2处理数据提供者的两个不同实例?

来自分类Dev

如何在ArrayHelper Yii2中传递两个不同的查询数据?

来自分类Dev

Yii2:如何显示两个相关表中的数据?

来自分类Dev

如何从yii2控制器中的两个表中删除数据

来自分类Dev

两个或两个以上用户的Yii2建议

来自分类Dev

如何根据列表中的两个不同值获得 2 个计数并检查两个计数是否相等?

来自分类Dev

如何检查yii2关系是否存在show controller

来自分类Dev

yii2如何将发布数据从一个视图转移到两个视图?

Related 相关文章

  1. 1

    Yii2 AR 类可以检查,两个对象有链接吗?

  2. 2

    Yii2检查延迟加载是否已经完成

  3. 3

    如何在yii2中使用两个不同的模型登录或切换身份类?

  4. 4

    Yii2在一个视图上渲染两个模型

  5. 5

    Yii2在一个视图中渲染两个模型

  6. 6

    yii检查两个非数据库模型的输入是否相等

  7. 7

    通过yii2中的单个字段从两个模型搜索得到两个gridview

  8. 8

    Yii2 - 唯一验证器两个属性不同的模型

  9. 9

    Yii2如何在一个GridView中使用两种不同的模型

  10. 10

    如何在yii2中组合select2上的两个属性

  11. 11

    链接两个模型

  12. 12

    将yii2中的两个模型项显示为单选列表,用户只能选择一个,而不能同时选择两个

  13. 13

    Django-检查两个模型的主键是否匹配

  14. 14

    Yii2两个submitButtons指向错误的URL

  15. 15

    Yii2两个submitButtons指向错误的URL

  16. 16

    比较yii2中的两个活动记录

  17. 17

    Yii2输出sum()的两个列值

  18. 18

    Yii2两个DetailView并排

  19. 19

    Yii2 按钮有两个功能

  20. 20

    Yii2如何使用PDO执行两个语句?或其他方式

  21. 21

    如何在yii2中使用来自两个表的显示数据

  22. 22

    如何使Yii2处理数据提供者的两个不同实例?

  23. 23

    如何在ArrayHelper Yii2中传递两个不同的查询数据?

  24. 24

    Yii2:如何显示两个相关表中的数据?

  25. 25

    如何从yii2控制器中的两个表中删除数据

  26. 26

    两个或两个以上用户的Yii2建议

  27. 27

    如何根据列表中的两个不同值获得 2 个计数并检查两个计数是否相等?

  28. 28

    如何检查yii2关系是否存在show controller

  29. 29

    yii2如何将发布数据从一个视图转移到两个视图?

热门标签

归档