我不想每次都写查询而我想计算,我该如何使用变量?
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;
});`
$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;
});`