An exception occurred while executing a query: SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block
SQLSTATE[22003]: Numeric value out of range: 7 ERROR: value "09018829619" is out of range for type integer CONTEXT: unnamed portal parameter $1 = '...'
サンプルコード
OrderEntityにはmobile_phoneをstringで追加済み
/**
* @ORM\Column(name="mobile_phone", type="string", nullable=true)
*/
public $mobile_phone;
<?php
namespace Customize\Repository;
use Eccube\Doctrine\Query\WhereClause;
use Eccube\Doctrine\Query\WhereCustomizer;
use Eccube\Repository\QueryKey;
class AdminOrderListCustomizer extends WhereCustomizer
{
/**
* キーワード検索に携帯番号を追加。
*
* @param array $params
* @param $queryKey
* @return WhereClause[]
*/
protected function createStatements($params, $queryKey)
{
return [WhereClause::like('o.mobile_phone', ':multi', ['multi' => $params['multi']])];
}
/**
* OrderRepository::getQueryBuilderBySearchDataForAdmin に適用する.
*
* @return string
* @see \Eccube\Repository\OrderRepository::getQueryBuilderBySearchDataForAdmin()
* @see QueryKey
*/
public function getQueryKey()
{
return QueryKey::ORDER_SEARCH_ADMIN;
}
}
概要(Overview)
2285
追加した携帯電話番号カラムを検索に含めようとすると、PostgreSQLだと下記エラーが出て実行できない。どうもDoctrineのバグっぽい
サンプルコード
OrderEntityにはmobile_phoneをstringで追加済み
再現手順(Procedure)
環境(Environment)
EC-CUBE: 4.2.1 PostgreSQL 14.11 PHP 8.1.2 doctrine/dbal 3.7.2