私は自分のアプリケーションでフォルダコンセプトを作成しようとしています。
APiのjson形式でo/pを返そうとしました。 私は、フォルダ、サブフォルダとサブフォルダ内のファイルを一覧表示しようとしていますが、私はこのYII2の多次元配列
{
"success_msg": 1,
"message": "success",
"details": [
{
"foldername": "Test_folder_1",
"subfolder": [
{
"sub_folder_name": "Test_sub_folder_1",
"subfile": [
{
"filename": "test_1.pdf"
},
{
"filename": "test_2.pdf"
}
]
},
{
"sub_folder_name": "test_folder",
"subfile": [
{
"filename": "test_3.jpg"
}
]
}
]
}
]
}
のようなネストされた配列にしようとしたとき、私は間違ったO/p.Let私は
ことをあなたと共有取得しています{
"success_msg": 1,
"message": "success",
"details": [
{
"foldername": "Test_folder_1",
"subfolder": [
{
"sub_folder_name": "Test_sub_folder_1"
},
{
"sub_folder_name": "test_folder"
}
],
"subfile": [
{
"filename": "test_1.pdf"
},
{
"filename": "test_2.pdf"
},
{
"filename": "test_3.jpg"
}
]
},
{
"foldername": "sample_folder",
"subfolder": [],
"subfile": []
}
]
}
そして、これは...誰もが私はサブフォルダ配列にサブファイル配列を挿入することができる方法を教えてもらえますadvancの中
感謝
public function actionFiles() {
ob_start();
$raw = file_get_contents("php://input");
$obj = json_decode($raw);
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
if ($obj!=null){
$user_id = $obj->cur_user_id;
$user_model = User::find()->where(['id'=>$user_id])->one();
$developer_id = $user_model->createdby;
$folder_model = Folder::find()->where(['developerid'=>$developer_id,'foldertype'=>'parent'])->all();
$count_folder = count($folder_model);
if($count_folder > '0'){
$response = ['success_msg' => 1, 'message' => 'success', 'details' => []];
foreach($folder_model as $folder) {
$folder_id = $folder['id'];
$userdet['foldername'] = $folder['foldername'];
$sub = [];
$sub_files = [];
$subfolder_model = Folder::find()->where(['folderid'=>$folder_id])->all();
foreach ($subfolder_model as $subfolder) {
$sub_folder_id = $subfolder['id'];
$sub_name['sub_folder_name'] = $subfolder['foldername'];
$sub_file = Files::find()->where(['folderid'=>$folder_id,'subfolderid'=>$sub_folder_id])->all();
foreach ($sub_file as $file) {
$filename['filename'] = $file['filename'];
array_push($sub_files, $filename);
}
array_push($sub, $sub_name);
// echo '<pre>';print_r($userdet);
}
$userdet['subfolder'] = $sub;
$userdet['subfile'] = $sub_files;
array_push($response['details'], $userdet);
}
echo json_encode($response);
}else {
// failed to insert row
$response["success_msg"] = 2;
$response["message"] = "No News found";
echo json_encode($response);
}
} else {
$response["success_msg"] = 3;
$response["message"] = "Data missing";
echo json_encode($response);
}
}
自分の行動でありますe ..
ありがとうございます。私の解決策を理解しました。私はそれを分かち合いましょう –