0

私はCakephp 2.xに取り組んでいます。アプリに「画像」と「オーディオ」の 2 つのテーブルがあります...画像とビデオの両方を日付順に並べ替えて表示したいビューがあります...これを行う方法がわかりません...主な問題はCakephpにあります。画像を表示したい場合はこれを行います

echo $data['Image']['filename'];

オーディオの場合、これを行います

echo $data['Audio']['filename'];

モーダル名を具体的に指定する必要があります..しかし、今はこれをやりたくありません..日付順にランダムに並べ替えて表示したい..たとえば、今日誰かが画像をアップロードし、昨日オーディオがアップロードされた場合...だからデータはビューページでこのように見える必要があります

audio.mp3 ,image.jpg .....so on

このような ..

私はこのように書きたくない

foreach($datas as $data){
    echo $data['Image']['filename'];
    echo $data['Audio']['filename'];
}

ここでは、画像が最初に来て、次にオーディオが必要ないことを明示的に伝えています...

私の画像モデル

function getImagesAndAudio($userid){
    $this->bindModel(array(
        'belongsTo' => array(
            'Audio' => array(
                'className' => 'Audio',
                'foreignKey' => false,
                'conditions' => array(
                    'Image.user_id = Audio.user_id',
                ),
                'type' => 'LEFT',
            )
        )
    ), false);

    return $this->find('all', array('conditions' => array('Image.User_id' => $userid),
        'contain' => array('Audio' ),
    ));
}

このようにコントローラーからデータを渡す

$data = $this->Image->getImagesAndAudio($userid);
$this->set('datas', $data);
4

0 に答える 0