NUMERIC
의 단일 매개 변수로 PostgreSQL에서 함수를 작성했습니다. SqlDataProvider 구성 요소를 통해 Yii 프레임 워크를 사용하여 개발 된 웹 응용 프로그램에서이 함수를 호출하려고합니다.PostgreSQL에서 Yii를 통해 숫자 매개 변수에 NULL 값을 전달하십시오.
Ivalid input syntax for type 'numeric'.
내가 PhpPgAdmin를 통해 직접 기능을 실행하려고 할 때마다, 모든 것이 완벽하게 작동하는 것 같다 그러나, 때마다 매개 변수 값이 비어, 나는 다음과 같은 오류가 계속. 다음은
이 논의 PL/pgSQL의 기능search(..)
코드입니다 다음 YII 모델에서
search("itemcode" character varying DEFAULT NULL, "taxpercentage" numeric DEFAULT NULL)
LANGUAGE plpgsql
AS $$
BEGIN
SELECT * FROM item WHERE (itemcode IS NULL OR item.item_code LIKE itemcode||'%')
AND (taxpercentage IS NULL OR item.tax_percentage = taxpercentage);
END;
$$;
, 나 또한 다시 데이터베이스 수준의 PL/pgSQL의 함수를 호출하는 검색 기능을 만들었습니다
public function search()
{
$count=Yii::app()->db->createCommand("SELECT COUNT(*) FROM search('$this->item_code','$this->tax_percentage')")->queryScalar();
$sql="SELECT * FROM search('$this->item_code','$this->tax_percentage')";
$dataProvider=new CSqlDataProvider($sql, array(
'totalItemCount'=>$count,
'pagination'=>array(
'pageSize'=>10,
),
));
return $dataProvider;
}
NUMERIC
유형의 매개 변수에 NULL 값을 전달하려면 어떻게해야합니까?
모든 도움을 주시면 대단히 감사하겠습니다. 미리 감사드립니다.
전체 기능 정의를 표시하십시오 –
@a_horse_with_no_name 기능이 매우 길기 때문에 phppgadmin에서 제대로 실행되므로 기능에 문제가 없습니다. 문제는 yii 프레임 워크에서 값을 전달할 때입니다. 또한 null 값만 사용하여 문제가 발생합니다. 다른 값을 전달하면 작동합니다. – user1690835
@ user1690835 : psql에서 실행되는 경우 서명을 제공하고 yii가 그것을 찾을 수있는 경우이를 호출하는 방법을 강조 표시합니다. yii의 ORM에 문제가있어 예를 들어 param에 매개 변수를 채우는 것입니다. 빈 문자열 또는 뭔가. –