0
상황을 설명하겠습니다.cakePHP 함수를 사용하여 여러 레코드의 필드를 늘리십시오.
나는 '모듈'이 하나 있는데, 필드 중 하나는 기본 페이지의 '위치'입니다. 특정 위치의 모듈을 생성/편집하는 경우, 더 높거나 같은 위치에있는 나머지 모듈을 확인하고 한 위치 앞으로 이동 시키려고합니다.
내 솔루션에서는 모델의 query()
기능을 사용합니다.
어떻게? 내가 원하는 어디든지 beforeSave()
또는 컨트롤러에이 기능을 사용할 수 있습니다
function moveModules($includedPosition){
if(!is_numeric($includedPosition)){
return false;
}
$sql =
"UPDATE modules "
. " SET modules.position = modules.position + 1 "
. " WHERE modules.position >= $includedPosition "
;
$result = $this->query( $sql);
}
나는 기능이 내 모듈 모델에서
...하지만 ...내가 물어보고 싶은 사용자 지정 쿼리를 사용하지 않고 가능한 솔루션이있는 경우
감사
솔루션 (감사 Headshota)
function moveModules($includedPosition){
if(!is_numeric($includedPosition)){
return false;
}
$this->updateAll(array('Module.position'=>'Module.position + 1'), array('Module.position >='=>$includedPosition));
}
사용해보십시오! 감사 – raultm