代码之家  ›  专栏  ›  技术社区  ›  beginner

Yii2如何在活动记录中使用内置mysql函数

  •  1
  • beginner  · 技术社区  · 6 年前

    如何在Yii2活动记录中使用内置MySQL函数?

    以及如何在 SearchModel ?

    SELECT * FROM `dts_track` where concat(date_received,time_received) != concat(date_released,time_released)
    

    enter image description here

    2 回复  |  直到 6 年前
        1
  •  2
  •   rob006    6 年前

    您可以使用字符串格式

    public function search($params)
    {
        $query = YourModel::find();
    
        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);
    
        if (!($this->load($params) && $this->validate())) {
            return $dataProvider;
        }
    
        $query->andWhere('concat(date_received,time_received) != concat(date_released,time_released)');
    
        return $dataProvider;
    }
    
        2
  •  -2
  •   Ragner Moura    6 年前

    让我为更好的生活贡献一份力量,在搜索功能中使用:

            if(isset($params['date_received']) AND isset($params['time_received'])){
                $datereceived = $params['date_received'].$params['time_received'];
            }
    
            if(isset($params['date_released']) AND isset($params['time_released'])){
                $datereleased = $params['date_released'].$params['time_released'];
            }
    
            $query->andWhere(':date1 != :date2', [':date1' => $datereceived , ':date2' => $datereleased ]);