我不想每次都写查询而我想计算,我该如何使用变量?

don't want to write query every time while i want to calculation, how can i use variable?

$all_trades = FinalTrade::where('user_id', '=', $user_id)->where('market_id', '=', $market_id)->get();

我正在尝试获取包含 (col: buy_datetime > col: sell_datetime) 和 (col:buy_rate * quantities) 的所有条目。

实际上是想在变量中获取它。 来自$all_trades,如何将单个列的全部记录存储在变量中?

例如,我想将 col: quantities 存储到 $abc 变量中。

使用pluck从集合中获取列

$abc = $all_trades->pluck('quantities');

您可以使用 where raw,此方法允许您为 WHERE 语句

编写原始 sql 代码

FinalTrade::whereRaw('buy_datetime > sell_datetime')->get();

或者您可以尝试使用数据库表达式

FinalTrade::where('buy_datetime', '>' DB::raw('sell_datetime'))->get();

对于此列buy_rate * quantities,您可以使用 selectRaw 方法

FinalTrade::where('buy_datetime', '>' DB::raw('sell_datetime')) ->selectRaw('buy_rate * quantities as column1') ->get();


`$finalTrades = FinalTrade::get(); 

$numbers_of_entries = $finalTrades->count(); 

$finalTrades->transform(function (FinalTrade $finalTrade) use 
($numbers_of_entries) { 
$finalTrade->result = ($finalTrade->quantities * $finalTrade->buy_rate) / 
$numbers_of_entries; 

return $finalTrade; 
});`