我目前正试图联合两个查询,但不幸的是,它们返回了一个错误。
$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()只获取第一个结果(行)。