0
我想在php mysql中获取文件夹和子文件夹内容的内容。 我建一个表,以保持文件夹结构如下使用CakePHP 2.x列出文件夹和子文件夹的内容
而另一台为文件夹中的媒体内容,这是如下
在第一个表我保留parent_id
以存储父文件夹标识。
- 0代表父文件夹ID。
- 假设我有在根文件夹1,2,3
- 4,5内部1.
- 6,7-内2
- 等
媒体内容表被存储内容的每个folder_id
。
现在我需要在CakePHP中显示文件夹结构和内容。
我已经上市的第一级。如下
$folderArr = $this->ProjectFolder->find('all',
array(
'conditions'=>
array(
'ProjectFolder.is_delete'=>'0',
'ProjectFolder.parent_id'=>$pid,
'ProjectFolder.user_id' => $userId
),
)
);
$folderContent = $this->ProjectMediaContent->find('all',
array(
'conditions'=>
array(
'ProjectMediaContent.project_folder_id'=>$pid,
),
)
);
//$log = $this->ProjectMediaContent->getDataSource()->getLog(false, false);
//debug($log);
//exit;
$content = Array();
if(!empty($folderContent)){
$mediapath = $thumbpath = '';
foreach($folderContent as $mediaContent){
if(!empty($mediaContent['ProjectMediaContent']['media'])){
$mediapath = Router::url('/', true).'files/folder/'.$mediaContent['ProjectMediaContent']['media'];
$thumbpath = Router::url('/', true).'files/folder/thumbs/'.$mediaContent['ProjectMediaContent']['media'];
}else{
$mediapath = $mediaContent['ProjectImage']['actual_url'];
$thumbpath = $mediaContent['ProjectImage']['thumb_url'];
}
$parentFolderContent[] = array(
"mediaId" => $mediaContent['ProjectMediaContent']['project_media_content_id'],
"mediaType" => $mediaContent['ProjectMediaContent']['media_type'],
'socialPlatForm'=> $mediaContent['ProjectImage']['image_source'],
'actualPath' => $mediapath,
'thumbPath' => $thumbpath,
'socialId' => $mediaContent['ProjectImage']['social_id'],
);
}
}
if(!empty($folderArr)){
foreach($folderArr as $val){
//print_r($this->getFolderListing($val['ProjectFolder']['project_folder_id'],$userId));die('jj');
$content[] = array(
'Folderid' => $val['ProjectFolder']['project_folder_id'],
'FolderName' => $val['ProjectFolder']['folder_name'],
);
}
}
项目文件夹型号如下
class ProjectFolder extends AppModel{
public $name = 'ProjectFolder';
public $primaryKey = 'project_folder_id';
public $displayField = 'folder_name';
public $actsAs = array('Containable');
public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id'
),
);
public $hasMany = array(
'ProjectMediaContent' => array(
'className' => 'ProjectMediaContent',
//'dependent' => true,
//'exclusive' => true,
)
);
}
ProjectMediaContent型号如下
class ProjectMediaContent extends AppModel{
public $name = 'ProjectMediaContent';
public $primaryKey = 'project_media_content_id';
//public $useTable = 'project_medias';
public $belongsTo = array(
'ProjectFolder' => array(
'className' => 'ProjectFolder',
'foreignKey'=>'project_folder_id'
),
'ProjectImage' => array(
'className' => 'ProjectImage',
'foreignKey'=>'project_image_id'
)
);
}
那么你的问题是什么?采取[StackOverflow旅游](http://stackoverflow.com/tour)和阅读[如何问](http://stackoverflow.com/help/how-to-ask)! – Ben
抱歉,问的方式不好。我是新来的,只是试图获取每个文件夹和子文件夹以及这些内容。 –
“ProjectFolder”与“ProjectMediaContent”相关吗? 'hasOne','hasMany'? –