alias('a')->join('blog_remark', 'a.b_id=blog_remark.id', 'LEFT'); if (is_array($where)) { $where = array_merge(['blog_remark.stat' => ['in', '0,1']], $where); } if ($where) { $this->where($where); } if ($order) { $this->order($order); } if ($field) { $this->field($field); } if (empty($limit)) { $limit = Config::get('list_rows'); } $object = $this->paginate($limit); return $object; } public function getList($where = null, $order = null, $field = null, $limit = null) { $this->alias('a')->join('blog_remark', 'a.b_id=blog_remark.id', 'LEFT'); if (is_array($where)) { $where = array_merge(['stat' => ['eq', '0']], $where); } if ($where) { $this->where($where); } if ($field) { $this->field($field); } if ($order) { $this->order($order); } if ($limit) { $this->limit($limit); } //$this->fetchsql(true); $data = $this->select(); return $data; } public function getOneRow($where, $field = null, $order = null, $stat = true) { $object = $this::get(function($query)use($where, $field, $order, $stat) { if ($stat) { $query->where(['stat' => ['eq', '1']]); } $query->where('id', $where); if ($field) { $query->field($field); } if ($order) { $query->order($order); } //$query->fetchsql(true); }); return $object; } public function getRow($where = null, $field = null, $order = null, $fetchsql = false) { $object = $this::get(function($query)use($where, $field, $order, $fetchsql) { if (is_numeric($where)) { $query->where(['stat' => ['eq', '1']])->where('id', $where); } if (is_array($where)) { $where = array_merge(['stat' => ['eq', '1']], $where); $query->where($where); } if ($field) { $query->field($field); } if ($order) { $query->order($order); } //$fetchsql ? $query->fetchsql(true) : ''; }); return $object; } public function updateRow($data = [], $where = [], $field = null) { $object = $this::update($data, $where, $field); return $object; } public function updateRows($data = [], $where = []) { if (!empty($where)) { $result = $this->save($data, function($query)use($where) { $query->where($where); }); } return isset($result) ? $result : false; } }