私は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);