本帖最后由 小骡子 于 2012-9-5 21:17 编辑
get_content 应该是要取cms_article 的内容而不是取cms_category的内容。
不知道为什么还停留在cms_category里?
我不是在get_content里 $query = $this->db->get('cms_article'); 了吗?
有没有办法像tp那样操作某个表的时候先new一下?
例如:$ds = new Cms_article();
PHP复制代码
/**
* 获取文章
* @date 2012/9/5
* @prama string $cat_name 栏目名称
* @prama integer $limit 记录数
* @prama string $order 排序
* @return object
*/
private function get_content($cat_name, $order = '', $limit = 0){
$arr_tpl = $this->get_tpl($this->get_catid($cat_name));
$this->db->where('checked', '1');
$this->db->where('cat_id', $this->get_catid($cat_name));
// $order ? $this->db->order_by($order) : $this->db->order_by('displayorder DESC, art_id DESC');
// $limit != 0 ? $this->db->limit(1, $limit) : $this->db->limit(1, 0);
$query = $this->db->get('cms_article');
echo $this->db->last_query();
}
/**
* 获取栏目id
* @date 2012/9/5
* @parma string $name 栏目名称
* @return integer
*/
private function get_catid($name){
$this->db->select('cat_id')->where('name', $name);
$result = $this->db->get('cms_category')->result();
foreach($result as $v){
return $v->cat_id;
}
}
/**
* 获取模板
* @date 2012/9/5
* @prama integer $cat_id 栏目id
* @return object
*/
private function get_tpl($cat_id){
/* 排序越大越靠前,如果排序一样,则模板越新越前 */
$this->db->where('cat_id', $cat_id)->order_by('displayorder DESC, tpl_id DESC');
$jsontpl = $this->db->get('cms_jsontpl')->result_array();
return $jsontpl;
}
复制代码
会提示如下:
Error Number: 1054Unknown column 'checked' in 'where clause' SELECT `cat_id` FROM (`cms_category`) WHERE `checked` = '1' AND `name` = 'Sponsors' Filename: C:\wamp\www\CitrusIsland12\sys\database\DB_driver.php Line Number: 330
|