2014-04-01 53 views
0

加盟這是mysqli的查詢做不到內蒙古中CDbCriteria

SELECT DISTINCT t.company_id,t.image,t.text,t.date, t.title AS c_title 
FROM news t 
INNER JOIN companies c ON c.company_id=t.company_id ORDER BY t.date DESC 
LIMIT 20" or die ("ERROR ". mysqli_error($link)); 

我想在CDbCriteria

$Criteria = new CDbCriteria(); 
$Criteria->join = 'INNER JOIN companies c ON t.company_id=c.company_id'; 
if ($place>0){ 
    $Criteria->condition = "t.company_id = :place"; 
    $Criteria->params = array(':place'=>$place); 
} 
$Criteria->order = "t.date DESC"; 
$Criteria->limit = 20; 
$Criteria->select='t.company_id,t.image,t.text,t.date,c.title AS c_title'; 
$dataProvider = new CActiveDataProvider('News', 
    array(
     'criteria'=>$Criteria, 
     'pagination'=>false 
    ) 
); 

Error屬性 「News.c_title」 沒有定義

+0

你在一個網格/列表視圖中使用呢?如果是這樣,請添加它。 – topher

+0

不,問題是我不能從公司拿到c.title,它在新聞表中找它 – user3434212

回答

1

屬性寫c_title沒有在新聞模型中定義(新聞表中的字段將自動作爲屬性提供,但c_title是標題的別名,而不是表格的字段)。

在您的新聞模型將這個:

public $c_title;

+0

是的c_title不是一個表新聞的字段,它在表公司中。通常在mysqli查詢中,我寫了select c.title AS c_title,但是在這裏它在新聞表中查找,而不是在公司 – user3434212