私は、ユーザーがファイルをフォルダーに整理できるメディアライブラリに取り組んでいます。所属するフォルダの親IDを追跡するファイルのテーブルがあります。親IDも許可するフォルダテーブルもあるので、フォルダを別のフォルダに置くことができます。問題は、親フォルダーに含まれるファイルとフォルダーの両方をリストするビューを表示したい場合に発生します。この時点まで、私は安価な方法を取り、フォルダ、次にファイルに対して2つの個別のクエリを実行し、次に次々にリストしました。ただし、リストが長くなったので(ページ付けしたいので)、クエリを制限する必要があります。2つのクエリを組み合わせて、ループできるファイルとフォルダーの1つのデータ配列を取得するにはどうすればよいですか?
たとえば、私はこれを行うことができます:
SELECT *
FROM `files` LEFT JOIN `folders` ON `files`.`folder_id` = `folders`.`id`
WHERE `folders`.`id` = 198
そのフォルダ内のすべてのファイルのリストが表示されます。
次にこれ:
SELECT * FROM `folders` WHERE `parent` = 198
これで、すべての子フォルダーのリストが表示されます。
2つを組み合わせて、ループする単一のデータ配列を作成する方法はありますか?