是否可以使用 IF 语句从数据库中获取数据并将其保存到字符串中?

Posted

技术标签:

【中文标题】是否可以使用 IF 语句从数据库中获取数据并将其保存到字符串中?【英文标题】:Is that possible to use IF statement to get data from database and save it into String? 【发布时间】:2022-01-05 01:09:27 【问题描述】:

我想从tbl_jadwal 获取一些记录并将其保存到我的 laravel 中的字符串中。 这是我的代码,

$get_time = if (now()->isMonday()) 
            return DB::table('tbl_jadwal')->where('Hari', 'Senin')->value('Jadwal_masuk');
         else if(now()->isSaturday())  
            return DB::table('tbl_jadwal')->where('Hari', 'Sabtu')->value('Jadwal_masuk');
        ;

$time = $get_time;

但我收到消息语法错误,意外标记“if”,有没有其他方法可以解决这个问题?

【问题讨论】:

你可以在你的语句里面使用一个函数。 您不能将 if 语句分配给变量。 【参考方案1】:

一般来说你可以做到:

if (now()->isMonday()) 
    $get_time = DB::table('tbl_jadwal')->where('Hari', 'Senin')->value('Jadwal_masuk');
 else if(now()->isSaturday())  
    $get_time = DB::table('tbl_jadwal')->where('Hari', 'Sabtu')->value('Jadwal_masuk');

// Caution: $get_time may not be defined here
return $get_time??null;

你也可以使用when:

if (!now()->isSaturday() && !now()->isMonday())  return null; 
    
return DB::table('tbl_jadwal')
  ->when(now()->isSaturday(), function ($q)  $q->where('Hari', 'Sabtu'); )
  ->when(now()->isMonday(), function ($q)  $q->where('Hari', 'Senin'); )
  ->value('Jadwal_masuk');

但是 carbon 也支持本地化,因此您可以让 now()->dayName 根据您的语言环境实际返回日期名称。

【讨论】:

它的工作,谢谢先生。

以上是关于是否可以使用 IF 语句从数据库中获取数据并将其保存到字符串中?的主要内容,如果未能解决你的问题,请参考以下文章

VBScript没有超过if语句

可以为Groovy中的if语句中的字段赋值可以使数据库更新记录

IF EXISTS 和 MERGE 语句

检查 NaN 并在 If [重复] 中使用它

PHP - IF 语句在 While 循环中始终为真

如果不满足条件,我可以为 Axios Get Method 编写 if/else 语句吗?