我有四個表關係問題?
Tag=>id,tag_name Image=>Id,Image_name TagImage=>Id,tag_id,Image_id ImageStudent=id,Image_id,student_id
而且我想找到使用學生證和標籤名的記錄。我使用什麼關係?
我有四個表關係問題?
Tag=>id,tag_name Image=>Id,Image_name TagImage=>Id,tag_id,Image_id ImageStudent=id,Image_id,student_id
而且我想找到使用學生證和標籤名的記錄。我使用什麼關係?
對於像這樣的查詢可能更好地使用UNION,這裏有必要的連接。
SELECT Image.* FROM Image
INNER JOIN ImageStudent ON Image.Id = ImageStudent.Image_id
LEFT OUTER JOIN TagImage ON Image.Id = TagImage.Image_id
INNER JOIN Tag ON TagImage.Id = Tag.Id
WHERE Tag.tag_name = 'foo' AND ImageStudent.student_id = 42;
我首先將它們設置在一個日期上,然後看它們是如何從那裏開始的。 – 2010-05-13 14:05:50
你想找什麼記錄?圖像記錄?你問你如何使用JOIN來獲得你需要的記錄? TagImage表還真的需要嗎? – Abs 2010-05-13 14:10:49
我猜模型關聯是'Tag HABTM Image'和'Student HABTM Image'(沒有提供'Student'模型,但必須在那裏)。 'TagImage'和'ImageStudent'是在Cake的ORM中創建HABTM關係的「神奇」模型:'Tag hasMany TagImage' /'TagImage belongsTo Tag'和'Image hasMany TagImage /'TagImage belongsTo Image'。 – 2010-05-13 14:17:55