如何使用via或viaTable关系从关系生成mysql查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用via或viaTable关系从关系生成mysql查询相关的知识,希望对你有一定的参考价值。

我在yii2模型中有以下关系

public function getStreamsFormations()
        {
            return $this->hasMany(StreamsFormations::className(), ['stream_id' => 'id']);
        }
public function getFormations()
        {
            return $this->hasMany(Formations::className(), ['id' => 'formation_id'])->via('streamsFormations');
        }

如何从关系“getFormations()”创建完整的mysql查询?

我需要它在其他地方使用它...

我用了 ...

$query = $model->getFormations()->createCommnad()->rawSql;

但是它从查询中跳过了via关系表。

答案

关系没有条件!他们只是加入2桌到主题!你必须把你的条件放在find()查询中!如果您需要更多信息,请告诉我。

以上是关于如何使用via或viaTable关系从关系生成mysql查询的主要内容,如果未能解决你的问题,请参考以下文章

Yii ActiveRecord 的via和viaTable示例

如何从数据库文件生成 SQLite 实体关系图

yii2:通过关系 id 获取记录

如何在 Spring Boot 中从双向表关系生成 DTO

EF 代码首先从数据库 0..1 到多关系

动态 SQLAlchemy ORM 关系生成