를 사용하여 나는이 actions.class.php
public function executeListmatches(sfWebRequest $request)
{
$form_values = $request->getParameter('match_form', array());
global $gender_id2 = $form_values['gender2'];
global $age1 = $form_values['age1'];
$age2 = $form_values['age2'];
$province_id = $form_values['id'];
echo "in list matches ".$gender_id2." ".$age1." ".$age2." ".$province_id;
$this->pager = $this->setupPager();
$this->matching_rows = RcProfileTablePeer::getAllBySelection($gender_id2,$age1,$age2,$province_id);
return sfView::SUCCESS;
}
코드 다음 내가 세계 키워드를 사용하는 경우
protected function setupPager()
{
echo "in pager ".$gender_id2." ".$age1." ".$age2." ".$province_id;
$pager = new sfPropelPager('RcProfileTable', 10);
$pager->setCriteria(RcProfileTablePeer::getAllBySelection($GLOBALS['gender_id2'],$GLOBALS['age1'],$GLOBALS['age2'],$province_id));
$pager->setPage($this->getRequestParameter('page', 1));
$pager->init();
return $pager;
}
내가 얻을 오류가 있습니다
PHP Parse error: syntax error, unexpected '=', expecting ',' or ';' in actions.class.php on line 41
내가 $ GLOBALS [ 'gender_id2']를 사용할 때 값이 null입니다. 내가리스로 설정해야하기 때문에 호출기를 설정해야합니다. t 내 선택 기준 RcProfileTablePeer에서
일치하는 모든 행은 내가 가지고 도와주세요
static public function getAllBySelection($gender2,$age1,$age2,$province_id)
{
echo $gender2." ".$age1." ".$age2." ".$province_id;
$criteria = new Criteria();
$criteria->add(RcProfileTablePeer::GENDER_ID,$gender2, Criteria::EQUAL);
$criteria->add(RcProfileTablePeer::AGE,$age1,Criteria::GREATER_EQUAL);
$criteria->addAnd(RcProfileTablePeer::AGE,$age2,Criteria::LESS_EQUAL);
if ($province_id <> 10)
$criteria->addAnd(RcProfileTablePeer::PROVINCE_ID,$province_id, Criteria::EQUAL);
return self::doSelect($criteria);
}
, 나는이 작업을 수행해야하는 방법 밖에 몰라요. 감사합니다.
전역을 사용하지 마십시오. [read here] (http://stackoverflow.com/questions/5166087/global-in-functions/5166527#5166527) 이유. –
왜 주위에 더 적합한 해결책이 있는지와 같이 전역에 의지하는 이유에 대한 질문을 재구성하는 것을 고려해야합니다. – Gerry