📞 09318539889 📧 yxp@gansuwangzhan.cn

根据字段status的值判断status_name的值

作者:杨锦龙时间:2025-10-18点击量:0次

推荐方案:在查询中使用 CASE WHEN

$list = Db::name("piaochuang")    ->field("*, CASE WHEN status = 1 THEN '显示' ELSE '不显示' END AS status_name")    ->where($where)    ->order("addtime desc")    ->paginate(20, false, ['query' => request()->param()]);

 备选方案:在获取后用 PHP 处理

如果你需要在 PHP 中处理(例如逻辑更复杂),可以这样:

$list = Db::name("piaochuang")    ->where($where)    ->order("addtime desc")    ->paginate(20, false, ['query' => request()->param()]); // 遍历数据,添加 status_name $list->each(function($item) {    $item['status_name'] = $item['status'] == 1 ? '显示' : '不显示'; }); return $list;

✅ 说明

  • 第一种方式(CASE WHEN)更高效,适合简单判断。

  • 第二种方式更灵活,适合需要调用函数或复杂逻辑的场景。

建议使用第一种。