gpt4 book ai didi

php - Yii:使用多个表

转载 作者:行者123 更新时间:2023-11-29 00:26:10 25 4
gpt4 key购买 nike

尝试执行此查询:

SELECT md.title, md.url 
FROM MenuData md, Menu m
WHERE m.parent=0
AND m.menuType=1
AND md.menuID = m.id
ORDER BY m.sort ASC

如下所示:

  $criteria = new CDbCriteria();
$criteria->together = true;
$criteria->with = array('MenuData');
$criteria->compare("Menu.menuType", 1);
$criteria->compare("Menu.parent", 0);
$criteria->join = 'LEFT JOIN MenuData ON MenuData.menuID=Menu.id';
$criteria->order = '`Menu.sort` ASC';
$criteria->compare("MenuData.locale", $this->lang);
$results = Menu::model()->findAll($criteria);

同时具有 Menu 和 Menudata 模型。但是出现以下错误:

Relation "MenuData" is not defined in active record class "Menu". 

最佳答案

$criteria->用==加入。

我假设您的模型菜单中有一个关系。

 public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'MenuData' => array(self::HAS_MANY, 'Menudata', 'menuID','joinType' => 'LEFT JOIN'),
);
}

以及您的标准:

  $criteria = new CDbCriteria();
$criteria->together = true;
$criteria->with = array('MenuData');
$criteria->compare("t.menuType", 1);
$criteria->compare("t.parent", 0);
// $criteria->join = 'LEFT JOIN MenuData ON MenuData.menuID=Menu.id';
$criteria->order = '`t.sort` ASC';
$criteria->compare("MenuData.locale", $this->lang);
$results = Menu::model()->findAll($criteria);

关于php - Yii:使用多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18814279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com