【问题标题】:Result is not print when value is 0值为 0 时不打印结果
【发布时间】:2018-11-25 07:50:37
【问题描述】:

这是一个函数,它显示结果但是当结果为0或空值时,它不打印并放置空格。当结果为0时它不打印,怎么办?

$holding_time = DB::table('trade')
        ->select(DB::raw('trade.*'))
        ->join('exchanges', 'trade.exchange_id', '=', 'exchanges.id')
        ->where('trade.user_id', $user_id)
        ->select(DB::raw('SUM(TIMESTAMPDIFF(HOUR,buy_datetime, sell_datetime)) as first_hour_total_time'))
        ->first();

    DD("$holding_time");

【问题讨论】:

  • $holding_time 为空时,使用if 语句返回另一个值
  • 当结果为空或零时你想打印什么?
  • 当结果为零时打印 0 -@RamAnji
  • 你试过response()->json($holding_time ?? 'NULL');吗? (PHP 7)

标签: mysql laravel laravel-5 laravel-4 eloquent


【解决方案1】:

你可以在返回之前检查空值

if($holding_time)
    return response()->json(['time' => $holding_time], 200);
else
    return response()->json(['time' => 'null'], 200);

您也可以使用firstOrFail() 检查任何问题的查询输出(如果您希望始终得到结果)

您可以记录输出以查看查询结果

Log::info($holding_time);

【讨论】:

  • 不,它对我没有用,还有其他想法吗?? -@Arash Hatami
  • 尝试记录。你有 0 结果吗? @KinnariPrajapati 看看更新的答案
  • 其实我想要很短的代码。因此,我正在为此寻找新的想法。
  • 是的,我有一个结果为0但没有打印,你能指导我在函数中只使用一行(短代码)并打印结果0吗?
  • response()->json($holding_time ?? 0);@KinnariPrajapati
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-09
  • 1970-01-01
  • 2019-01-07
  • 1970-01-01
  • 2019-03-11
  • 1970-01-01
相关资源
最近更新 更多