使用codeigniter进行内部联接

时间:2014-04-16 13:48:47

标签: php codeigniter

我有一个如下查询,它给了我一个错误 我在模型中的查询是

$query = $this->db->select('SELECT AV.Ad_ID, AV.Title, AV.Price, LT1.Listing')
              ->from('ad_vehicle')
              ->join('ref_listing_type', 'ad_vehicle.Listing_Type_ID = ref_listing_type.Listing_ID', 'inner')
              ->where('ad_vehicle.Created_By', 1)
              ->get();
var_dump($query);
return $query->result_array();

我的错误是

发生数据库错误

错误号码:1064

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近' .Ad_ID,AVTitleAVPriceLT1Listing FROM   (ad_vehicle)INNER JO'在第1行

SELECT `SELECT` AV.Ad_ID, `AV`.`Title`, `AV`.`Price`, `LT1`.`Listing`
FROM (`ad_vehicle`) 
INNER JOIN `ref_listing_type` ON `ad_vehicle`.`Listing_Type_ID` = `ref_listing_type`.`Listing_ID` 
WHERE `ad_vehicle`.`Created_By` = 1

文件名:C:\ wamp \ www \ DoolalyJobsBackup \ system \ database \ DB_driver.php

行号:330

1 个答案:

答案 0 :(得分:0)

select()更改为

 $query = $this->db->select('AV.Ad_ID, AV.Title, AV.Price, LT1.Listing')

使用有效记录select()会自动添加您不需要在查询中再次添加的SELECT关键字。同样在您的查询中,您使用了短的别名桌子,但你没有分配它们

$this->db->select('AV.Ad_ID, AV.Title, AV.Price, LT1.Listing')
              ->from('ad_vehicle AV')
              ->join('ref_listing_type LT1', 'AV.Listing_Type_ID = LT1.Listing_ID', 'inner')
              ->where('AV.Created_By', 1)
              ->get();