【问题标题】:How do I make SQL data display in descending order by default in CakePHP?CakePHP中如何让SQL数据默认降序显示?
【发布时间】:2020-05-23 01:48:36
【问题描述】:

我目前正在使用 CakePHP,但在如何编辑它显示数据的方式方面遇到了困难。

对于上下文:这是一个 CakePHP 编写的网站,其中“钥匙卡”由多个人签入和签出。我想在网站上按降序显示数据date_processed

我想知道我应该如何或在哪里编辑或添加代码以使数据默认按降序显示。

<tbody>
  <?php foreach ($keycards as $keycard): ?>
  <tr>
    <td><?=$keycard['Keycard']['id']?></td>
    <td><?=$keycard['Keycard']['first_name']?> <?=$keycard['Keycard']['last_name']?></td>
    <td><?=$keycard['Keycard']['staff_name']?></td>
    <td><?=$keycardState[$keycard['Keycard']['signature_type']]?></td>
    **<td><?=$keycard['Keycard']['date_processed']?></td>**
    <?php elseif($keycard['Keycard']['image'] === 'Refer to Manual Keycard'):?>
    <td>Refer to Scanned Key Receipt in THD</td>
    <?php else: ?>
    <td><img src=<?=$keycard['Keycard']['image']?> /></td>
    <?php endif; ?>
  </tr>
  <?php endforeach; ?>
</tbody>

【问题讨论】:

  • 它会在你阅读的任何地方$keycards
  • 您可以使用 order(['id' =>'DESC']) 条件从数据库中获取数据。另外请分享您的获取数据代码。

标签: php sql cakephp


【解决方案1】:

在你的情况下,你需要在 CakePhp 中做下一件事。 如果你对某个模型应用了查找函数,那么要按降序排序,你需要这样进行:

 $keycards = $this->KeyCards->find('all', array(
    'conditions' => array(
      'signature_type' => 'keycard',
      'id' => $id  
     ),
  'order' => 'id DESC'
 ));

【讨论】:

  • "first" 只从数据库中获取一条记录
  • 对不起,我已经知道了,呵呵,没看到,不小心发了……我编辑了帖子。
  • 在 cakephp 3 和 4 中不需要关键字 'all'
  • 不幸的是,我没有使用 Cakephp 3 或 4。由于我正在开发一个使用 Cakephp 2.6 的项目,因此我无法更新我对已弃用功能的了解。
猜你喜欢
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 2013-03-05
  • 2011-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多