我目前正试图联合两个查询,但不幸的是,它们返回了一个错误。

$bitfinex = DB::table('bitfinex')->select('price')->latest()->first();
$bitstamp = DB::table('bitstamp')->select('price')->latest()->first()->union($bitfinex);

返回此错误:
(1/1) FatalThrowableError
Call to undefined method stdClass::union()

我很感激你的帮助,提前谢谢!

最佳答案

first()正在从查询中获取第一个结果。此时,查询已提交到数据库服务器,无法联合。
如果每个select只需要一个结果,请使用limit()方法,该方法对应于sql limit。

$bitfinex = DB::table('bitfinex')->select('price')->latest()->limit(1);
$bitstamp = DB::table('bitstamp')->select('price')->latest()->limit(1);

$results = $bitfinex->union($bitstamp)->get();

get()将获取结果的集合,而first()只获取第一个结果(行)。

10-08 01:52