0

tv_schedule と vp_record の 2 つのデータベースがあります。vp_record テーブルで設定されたリレーション:

    'tv_schedule' => array(self::BELONGS_TO, 'Schedule', 'sch_id'),

関連するレコードを取得しようとすると、うまくいきます:

    Record::model()->findByPk(2)->tv_schedule

しかし、dataProvider を形成するための基準を使用している場合、エラーが発生します。

SQLSTATE [42S02]: ベース テーブルまたはビューが見つかりません: 1146 テーブル 'video_processing.tv_schedule' が存在しません。実行された SQL ステートメントは、SELECT COUNT(DISTINCT t. id) FROMvideo_processingです。vp_record tLEFT OUTER JOIN tv_schedule tv_scheduleON ( t. sch_id= tv_schedule. sch_id) WHERE (t.tc_id = 22)

     $dataProviderRecorded = new CActiveDataProvider('Record', array(
        'criteria' => array(
            'with' => array('tv_schedule'),
            'condition' => 't.tc_id = '.$id,
            'together' => true
        ),
        'pagination' => array(
                'pageSize' => 20
        )
    ));

ただし、レコードのモデル、およびスケジュール構成済みメソッド CDbGetConnection のモデルでは、次のようになります。

 public function getDbConnection()
{
    $db = Yii::app()->getComponent('video_processing');

    if ($db instanceof CDbConnection)
    {
        return $db;
    }
    else
        throw new CDbException(Yii::t('yii', 'Active Record requires a "video_processing" CDbConnection application component.'));
}

スケジュール:

    public function getDbConnection() 
    {
            $db=Yii::app()->getComponent('iptv_new');

            if($db instanceof CDbConnection)
            {
                    return $db;
            }
            else 
                    throw new CDbException(Yii::t('yii','Active Record requires a "iptv_new" CDbConnection application component.'));
    }

ここで何が問題なのですか?

4

0 に答える 0