0

我想尝试将我的sql代码更改为活动记录,这是原始代码和活动记录尝试。和错误信息。请告诉我我的错在哪里?谢谢。

SELECT `emlakilan`.`id`, `emlakdurum`.`durum`,`emlaktip`.`tip`,`semtler`.`semt`,`emlakilan`.`fiyat`,`emlakilan`.`tarih`,`resim`.`r1` FROM ucburcak.`emlakilan`
INNER JOIN `semtler` ON `emlakilan`.`semtId` = `semtler`.`semtid`
INNER JOIN `emlaktip` ON `emlakilan`.`emlakTipId` = `emlaktip`.`id`
INNER JOIN `emlakdurum` ON `emlakilan`.`emlakDurumId` =`emlakdurum`.`id`
LEFT JOIN `resim` ON `emlakilan`.`resimId` = `resim`.`id`
WHERE `emlakdurumId`=3 ORDER BY `emlakilan`.`id` DESC LIMIT 4;

//这里还有活动记录功能

public function kucuk_ilan($durum ='3') // $durum:1=>tümü 2=>kiralık 3=>satılık 4=>takas
    {
            $query = $this->db->select('emlakilan.id, emlakdurum.durum, emlaktip.tip, semtler.semt, emlakilan.fiyat, emlakilan.tarih, resim.r1')
                              ->from('emlakilan')
                              ->join('semtler','emlakilan.semtId' === 'semtler.semtid','inner')
                              ->join('emlaktip','emlakilan.emlakTipId'==='emlaktip.id','inner')
                              ->join('emlakdurum','emlakilan.emlakDurumId'==='emlakdurum.id','inner')
                              ->join('resim','emlakilan.resimId'==='resim.id','left')
                              ->where('emlakdurumId'===$durum)
                              ->order_by('emlakilan.id','desc')
                              ->limit(4);
            $query = $this->db->get('emlakilan');

            return $query->result_array();
    }

并且,错误信息:

错误号:1066

不是唯一的表/别名:'emlakilan'

选择emlakilanid, emlakdurum. durum, emlaktip. tip, semtler. semt, emlakilan. fiyat, emlakilan. tarih, resim. r1FROM ( emlakilan, emlakilan) INNER JOIN semtlerON INNER JOIN emlaktipON INNER JOIN emlakdurumON LEFT JOIN resimON WHERE 0IS NULL ORDER BY emlakilanid描述限制 4

文件名:C:\Program Files\EasyPHP-12.1\www\3burcak\system\database\DB_driver.php

行号:330

感谢帮助。

4

1 回答 1

0

所以 1. 删除 'from' 行 2. 错误的连接

尝试这个:

public function kucuk_ilan($durum ='3') // $durum:1=>tümü 2=>kiralık 3=>satılık 4=>takas
{
        $query = $this->db->select('emlakilan.id, emlakdurum.durum, emlaktip.tip, semtler.semt, emlakilan.fiyat, emlakilan.tarih, resim.r1')
                          ->from('emlakilan')
                          ->join('semtler','emlakilan.semtId = semtler.semtid','inner')
                          ->join('emlaktip','emlakilan.emlakTipId = emlaktip.id','inner')
                          ->join('emlakdurum','emlakilan.emlakDurumId = emlakdurum.id','inner')
                          ->join('resim','emlakilan.resimId = resim.id','left')
                          ->where('emlakdurumId', $durum)
                          ->order_by('emlakilan.id','desc')
                          ->limit(4);
        $query = $this->db->get('emlakilan');

        return $query->result_array();
}
于 2013-03-27T13:05:49.800 回答