CakePHP3由ASC订购无法正常工作

时间:2017-01-06 14:02:17

标签: cakephp-3.0

我正在尝试检索当月的生日列表,但结果将如下所示:

1月1日 1月12日 1月2日 1月23日 1月3日

我如何重写我的查询以使其工作以便它们按顺序排列,这是我的查询:

    $month = date("F");
    $clients = $this->Clients;
    $query = $clients->find();

        if($this->Auth->user('role') !== 'admin'){
            $query->where(['user_id =' => $this->Auth->user('id')]);
            $query->where(['dob LIKE' => '%'.$month.'%']);

            $query->order(['dob' => 'ASC']);
        }



    $this->set([
    'clients'=>$this->paginate($query),
    '_serialize'=>['clients'],

    ]);

1 个答案:

答案 0 :(得分:0)

如果你的dob列是varchar,则结果为true且是预期的 您需要将数据类型更改为datetime或timestamp aftar date你可以使用

$query->order(['dob' => 'ASC']);
$query->orderAsc('dob');

您可以使用日期函数而不是LIKE