加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel模型范围activated_at和deactivated_at检查是否有

发布时间:2020-12-14 19:45:20 所属栏目:大数据 来源:网络整理
导读:使用模型范围: public function scopeApproved($query){ return $query-where('activated_at','=','deactivated_at' -7 days);} 我知道这是无效的语法,但认为我可能很清楚我想要实现的目标. ‘activated_at’和’deactivated_at’是同一个表中的两个字段我
使用模型范围:
public function scopeApproved($query)
{
    return $query->where('activated_at','>=','deactivated_at' -7 days);
}

我知道这是无效的语法,但认为我可能很清楚我想要实现的目标.

‘activated_at’和’deactivated_at’是同一个表中的两个字段我希望得到它们相隔7天以上的所有实例

我不确定有没有一种正确的方法可以通过Eloquent实现这一点,尽管你可以使用MySQL函数 DATEDIFF.尝试类似:
// in your model
public function scopeApproved($query) {
    $query->whereRaw("DATEDIFF('activated_at','deactivated_at') >= 7");
}

这取决于您使用的数据库驱动程序(即MySQL,SQLite,SQL服务器……)

编辑:

找到了一些与MySQL一起工作的东西(到目前为止):

// in your model
public function scopeApproved($query) {
    $query->whereRaw("TO_DAYS(activated_at) - TO_DAYS(deactivated_at) >= 7");
}

TO_DAYS是MySQL功能的构建.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读