私は2つのテーブルを持っています:
+-----------+ +------------------------------------+--------------+
+ persons | | photos |
+-----------| +---------------------------------------------------+
+ id | name + | id | person_id | path | title |
+-----------+ +---------------------------------------------------+
+ 1 | Tom + | 1 | 2 | ~fred/me.png | Yo, it's Me! |
+ 2 | Fred + | 2 | 2 | ~fred/my_wife.png | I'm Susan |
+ 3 | Jack + | 3 | 1 | ~tom/my_dog.jpg | a woof |
+-----------+ +---------------------------------------------------+
これはこの関係にあります:
人hasMany写真<->写真belongsToPerson
写真を持っているすべての人をリストし(ジャックのように誰かが持っていない場合でも)、写真のタイトル順に並べたいと思います。
このためにどのSQLクエリ(MySQL)を書く必要がありますか?1対多の関係で結合を使用できますか?
PS:情報として、レコードを使用してそのような配列を作成できるようにしたいと思います。
$persons = Array(
[0] => Array(
[id] => 1,
[name] => 'Tom',
[Photo] => Array(
[0] => Array(
[id] => 3,
[person_id] => 1,
[path] => '~tom/my_dog.jpg',
[title] => 'a woof' // 1st
)
)
),
[1] => Array(
[id] => 2,
[name] => 'Fred',
[Photo] => Array(
[0] => Array(
[id] => 2,
[person_id] => 2,
[path] => '~fred/my_wife.png',
[title] => "I'm Susan" // 2nd
),
[0] => Array(
[id] => 1,
[person_id] => 2,
[path] => '~fred/me.png',
[title] => "Yo, it's Me!" // 3rd
)
)
),
[2] => Array(
[id] => 3,
[name] => 'Jack',
[Photo] => Array()
)
)
どうもありがとう!