关系两个数据库并加入yii2

时间:2019-03-07 14:08:04

标签: yii yii2 yii2-advanced-app

你能帮我吗?如何关联和加入 。我得到error没有名为“项目”的关系。 我在代码中使用ActiveRecord:

$posts = MaKantor::find()
    ->leftJoin('project.track', '`track`.`id_office` = `m_kantor`.`kantor_id`')
    ->with('project.track')->where(['collecting_id' => $model->collecting_id])
    ->all();

和配置

    'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=project',
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
    ],
    'db2' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=db_master',
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
    ],

1 个答案:

答案 0 :(得分:1)

在查询中使用with('relationName')时,需要在MaKantor模型中定义关联函数。 例如:

public function getProject()
{
    return $this->hasOne(Project::className(), ['id' => 'project_id']);
}