【问题标题】:How sort json array result in codeigniter 4如何排序json数组导致codeigniter 4
【发布时间】:2021-09-21 05:36:45
【问题描述】:

如果介意的话,任何人都可以告诉我如何在 json 数组上按 created_at 排序。 我想要最新的评论在顶部,而不是在底部。 这是我的代码:

模型(插入和获取评论数据):

    public function add_komen($data){
            return $this->komen->insert($data);
    }

    public function get_komen($id){
            return $this->komen->where('id_user', $id)->get()->getResultArray();
        
 }

控制器(使用视图数组获取数据并获取结果):

public function do_add_komentar(){
        $data['nama_komentar'] = $this->request->getPost('nama');
        $data['isi_komentar'] = $this->request->getPost('komentar');
        $data['id_user'] = $_SESSION['id_user'];

        $update = $this->UndanganModel->add_komen($data);
        if($update){
            echo json_encode(array('status' => 'sukses','nama' => \esc($data['nama_komentar']),'komentar' => \esc($data['isi_komentar']) ));
        }else{
            echo json_encode(array('status' => 'gagal'));
        }
}

视图(表单和获取结果):

<input id="nama" type="text" class="form-control mt-2" placeholder="Nama Anda" required>
<textarea id="komentar" class="form-control" id="exampleFormControlTextarea1" placeholder="Pesan anda.." rows="3" required></textarea>
<button id="submitKomen" class="btn btn-primary btn-block" >Kirim</button>

<div class="layout-komen">              
                <?php  foreach($komen as $key => $data) { ?>
                <div class="komen" >
                    <div class="col-12 komen-nama">
                        <?= \esc($data['nama_komentar']); ?>
                    </div>
                    <div class="col-12 komen-isi">
                        <?= \esc($data['isi_komentar']); ?>
                    </div>
                </div>
                <?php } ?> 
</div>
    

【问题讨论】:

  • 显示模型代码以获取数据
  • @VirenderKumar 添加,我已经编辑了帖子,谢谢,我忘了显示获取结果模型
  • 立即查看我的答案

标签: php arrays json codeigniter sorting


【解决方案1】:

您无需对 json 数组进行排序。这可以简单地通过在模型函数中对 created_at 进行排序以获得结果来实现。我假设 created_at 是您表中的列名。如果不是,则将 created_at 替换为列名。在此处查看代码

 public function get_komen($id){

   return $this->komen->where('id_user', $id)->orderBy("created_at", "desc")->get()->getResultArray();
        
 }

查看并回复

【讨论】:

    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-28
    • 2017-10-29
    • 2012-08-25
    • 1970-01-01
    • 2020-06-13
    相关资源
    最近更新 更多