저는 CodeIgniter에서 웹 사이트를 개발 중입니다. 그것은 일부 거대한 양식 (150 필드) 일부 동적으로 생성/잠겨/사전 정의/제거 등 제외하면 기본적인 일종의.CodeIgniter MVC 데이터 조작 방법이 가장 좋습니다.
물론, 양식과 데이터베이스 사이의 전환을하는 데 문제가 있습니다. 매우 복잡한. 내 말은 양식을 제출하면 일부 테이블에 여러 줄이 삽입되고 일부 데이터는 저장되지 않는다는 것입니다. (일부 라디오 버튼 등)
I가 사용$_POST
데이터를 기입하기 위해 양식 입력 이름을 따서 가능한 많은 특성을 갖는 매우 큰 객체를 생성 한
: 물론
foreach ($largeObj as $key=>$value)
{
if (isset($_POST[$key])){
$largeObj[$key]=$value; //mind the data escaping
}
}
절반 입력이 유일한 작품은 다른 사람을 위해 내가 같은 것을 할 필요가 :
$largeObj['tanks']=Array();
for ($i=0;$i<$_POST['nbrTanks'];$i++){
$tank=new Tank();
// some if's in order to set some properties
$largeObj['tanks'][]=$tank;
}
그럼 난 모든 계산을하고 각 테이블에서 해당 데이터를 삽입 할 내 DTO의를 준비합니다. Btw 데이터베이스 테이블을 매핑하기 위해 PHPDAO를 사용했기 때문에 전체 CRUD 작업을 작성하기에는 너무 큽니다.
더 좋은 방법이 있습니까? 어노테이션 주도형이거나 좀 더 효율적인 방법입니다. 왜냐하면 DB 전체의 데이터로 전체 양식을 채워야하기 때문입니다. 어떤 제안이라도 환영합니다. 당신도 방법으로 이동 입력의 목록이있는 경우
고맙습니다. 이미 $ array = $ this-> input-> post (NULL, True)를 사용하고있었습니다. 불가능한 양식과 일치하는 열과 마찬가지로 너무 많은 논리가 진행 중입니다 .. 전환을보다 효율적으로하려고합니다. 양식 - (데이터 저장 및 조작) -> 큰 개체 ----- (DTO 준비) ----> 데이터베이스 – Samson
그럼 내 대답의 첫 번째 코드 스 니펫은 훨씬 간단 해 지므로 코드를 무의미하게 반복하지 않아도됩니다. – David