【发布时间】:2014-08-07 09:10:24
【问题描述】:
在文档中,
$results = DB::select('select * from users where id = ?', array(1));
问题
我有一个变量$column 和$value,我希望他们根据这样的列搜索数据库:
$results = DB::select('select * from users where ? LIKE "%?%"', array($column, $value));
但这会引发错误:
SQLSTATE[42P18]: Indeterminate datatype: 7 ERROR: could not determine data type of parameter $2 (SQL: SELECT * FROM test WHERE refno LIKE '%te%')
我尝试像这样对值进行硬编码:
$results = DB::select('select * from users where ? LIKE "%te%"', array($column));
但它返回一个空白数组。
我该怎么做?请帮忙。
编辑:
查询实际上很长(有多个连接)。因此,如果可能,我宁愿不使用 Query Builder 样式。但如果不可能,那么我将使用查询生成器。
信息:
- Laravel v4.2
- PostgreSQL
【问题讨论】:
-
有什么理由不使用查询生成器?