/** * 階層構造のテーブルから親ID配列を取得する. * * @param string $table テーブル名 * @param string $pid_name 親ID名 * @param string $id_name ID名 * @param integer $id ID * @return array 親IDの配列 */ public function sfGetParentsArray($table, $pid_name, $id_name, $id) { $arrParents = array(); $ret = $id; $loop_cnt = 1; while ($ret != '0' && !SC_Utils_Ex::isBlank($ret)) { // 無限ループの予防 if ($loop_cnt > LEVEL_MAX) { trigger_error('最大階層制限到達', E_USER_ERROR); } $arrParents[] = $ret; $ret = SC_Helper_DB_Ex::sfGetParentsArraySub($table, $pid_name, $id_name, $ret); ++$loop_cnt; } $arrParents = array_reverse($arrParents); return $arrParents; }
/** * 階層構造のテーブルから親ID配列を取得する. * * @param string $table テーブル名 * @param string $pid_name 親ID名 * @param string $id_name ID名 * @param integer $id ID * @return array 親IDの配列 */ function sfGetParentsArray($table, $pid_name, $id_name, $id) { $arrParents = array(); $ret = $id; while ($ret != "0" && !SC_Utils_Ex::isBlank($ret)) { $arrParents[] = $ret; $ret = SC_Helper_DB_Ex::sfGetParentsArraySub($table, $pid_name, $id_name, $ret); } $arrParents = array_reverse($arrParents); return $arrParents; }