Я использую поисковый запрос phalcon,
и используя элемент массива в предложении where, но получаю ошибку
"'Ошибка сканирования до' 3]>: from_time: ... 'при разборе: SELECT ..."
У меня есть обходной путь, я не использую phalcon find, но хочу выяснить, как использовать элемент массива в предложении where, любая идея приветствуется.
Спасибо, Тал
phalcon (версия 3.4.1)
PostgreSQL 9.6.6 для x86_64-pc-linux-gnu, скомпилированный gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9), 64-битный
use Phalcon\Mvc\Model;
class Products extends Model
{
public function initialize()
{
$this->setSource("products");
}
public function findByIdAndTime($id, $from_time)
{
$result = Products::find(["id=:id: AND create_time[3] > :from_time:",
['id' => $Id,'from_time' => $from_time]]);
return $result;
}
}
пример использования:
try
{
$products = new Products();
$products->findByIdAndTime(1, 1541672000);
}
catch(Exception $e)
{
var_dump($e->getMessage());
}
столбец таблицы postgre create_time имеет тип integer [] (в примере {1541600807,0,1541673916}), а значение $ from_time является предварительно вставленным now_time () из БД (в примере 1541672000)
вот как создать таблицу
CREATE TABLE public.products
(
id int,
create_time int[]
);
INSERT INTO products(create_time) VALUES ('{1541600807,0,1541673916}');