Post
との間のHABTM関係を正しく設定しましたTag
。ユーザーがのようなURLに移動すると、http://site.com/tag/test
でタグ付けされたすべての投稿を表示したいtest
。
次のコードを使用すると、タグ情報とそのタグを持つすべての投稿が取得されます。
public function view($name) {
$this->set('tag', $this->Tag->findByName($name));
}
ただし、返される投稿はcreated
列で並べ替えられておらず、「先着順」で取得されているようです。私はこれをやってみました:
public function view($name) {
$this->set('tag', $this->Tag->findByName($name, array(
'order' => array('Post.created DESC')
)));
}
しかし、それは私にSQLエラーを与えました:
エラー:SQLSTATE [42S22]:列が見つかりません:1054不明な列'タグ'。'フィールドリスト'
SQLクエリ:SELECTDISTINCT
Tag
。` FROM
ポートフォリオ.
タグAS
タグWHERE
タグ.
名`='テスト'LIMIT1
クエリで投稿を新しいものから古いものに並べ替える方法はありますか、それともコントローラーで結果の配列を再フォーマットする必要がありますか?