给定以下数据库结构
我想获取所有项目及其文件夹和文件,以及文件夹和文件的数量。
我的模型定义中有以下代码:
public function getProjectsWithFiles()
{
$db = \Config\Database::connect();
$builder = $db->table('projects');
$builder->select('*');
$builder->join('folders', 'folders.project_id = projects.id'); // get the folders
$builder->join('files', 'files.folder_id = folders.id'); // get the files
return $builder->get()->getResult();
}
此代码为我提供了所有文件,但是它没有为我提供文件夹或项目。
结果是 Array
的 files
所需的结果将是一个 projects
数组及其各自的 folders
和 files
,例如:
[
name: project1, id: 1, folders: [], files: []
name: project2, id:2, folders: [], files: []
]