【问题标题】:write this mysql query in codeigniter在 codeigniter 中编写这个 mysql 查询
【发布时间】:2019-11-12 00:03:42
【问题描述】:

我需要关于在 CodeIgniter 中编写这个 MySQL 查询的帮助

SELECT *, ABS( post_code - 2015 ) AS distance FROM list_data WHERE business_name LIKE '%cash%' ESCAPE '!' ORDER BY distance LIMIT 6

2015'%cash%' 来自输入字段

到目前为止,我已经这样写了,但没有工作

public function searchListing($data, $location) {
        $this->db->select('(SELECT *, ABS(`post_code`-' $location' AS distance FROM `list_data` ORDER BY distance)', FALSE);
        $this->db->like('business_names', $data);
        $query = $this->db->get();
        return $query->result();
    }

下图是表格的样子

下图是我想用codeigniter写的查询

谁能帮帮我?谢谢

【问题讨论】:

  • 只是好奇...ABS( post_code - 2015 ) 有什么用处?
  • 提供生成的SQL,我认为问题会很明显。
  • @Strawberry 用于获取我存储在数据库中的邮政编码的最接近值
  • 生成的 SQL:你可以使用:$this->db->last_query()
  • @Vickel 你这是什么意思?我不需要最后一个查询的值

标签: mysql codeigniter mariadb


【解决方案1】:

这是问题的解决方案

public function searchListing($data, $location) {
    $q = $this->db->select('*, ABS( post_code - '.$location.') AS distance')
         ->from('list_data')
         ->like('business_name', $data)
         ->order_by('distance')
         ->limit(6)
         ->get()
         ->result();
    return $q;

感谢 CodeIgniter 论坛的 @Chivinsdev 提供解决方案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-13
    • 2011-09-13
    • 2016-04-23
    • 2017-11-18
    • 2019-09-21
    • 2012-02-03
    • 1970-01-01
    相关资源
    最近更新 更多