我想从两个表akcii
,feeds
获取所有结果,并在搜索后抛出它们(现在查询只返回所有记录而没有任何搜索条件),这里是查询(mysql):
DB::query('SELECT id, title, text FROM (
SELECT id, title, text FROM `akcii` UNION ALL
SELECT id, title, body FROM `feeds`
) temp_table
ORDER BY `id` desc
LIMIT 0, 10')
结果是我需要的,但在我无法转换它之后?
如果我拨打->get()
方法,我会收到错误消息:
QueryException in Connection.php line 651:
SQLSTATE[HY000]: General error: 1096 No tables used (SQL: select *)
我做错了什么?
答案 0 :(得分:2)
DB :: query()方法没有获取任何参数,因此您在那里传递的查询将被忽略。您在空构建器上调用 get(),而该构建器不知道在哪个表上运行查询。生成的查询只是 SELECT * ,因此是SQL错误。
如果您希望这样做,您应该调用 DB :: select()方法,例如:
$results = DB::select($your_query);
但是,你会得到的是数组,而不是 Collection 对象。如果您想从中制作一个集合,请执行以下操作:
$collection = new Collection($results);