Yii2为什么在相关表中指定字段时我不需要指定关系名称?

时间:2016-06-08 17:15:51

标签: php yii2 relational-database

目前我的模型中有以下代码可以完美运行但是我很困惑,因为在相关表格中指定字段之前我没有指定关系名称。

这是怎么回事?

以下代码中使用的relarion名称是:categoriesToPosts

搜索模型

    $query = Posts::find();
    $query->joinWith(['categoriesToPosts']);

    if(!empty($params['cat'])){
        $query->andFilterWhere(['posts_categories_id' => $params['cat']]);
    }

我想在过滤器中我必须得到以下部分:

['categoriesToPosts.posts_categories_id' => $params['cat']]

1 个答案:

答案 0 :(得分:0)

试试这个

$query = Posts::find();
$query->joinWith(['categoriesToPosts' => function($q) use($params){
    $query->andFilterWhere(['posts_categories_id' => $params['cat']]);
}]);

docs: Joining with Relations