Q1:您需要在兩個活動記錄模型(在「關係」方法中)中定義UserCalendar和CalendarEvent之間的關係。
根據您的意見,看起來好像您的日曆模型具有CalendarEvent模型和UserCalendar模型。 讓我們假設你的關係,在日曆是:
relations() {
return array(
'userCalendar' => array(self::HAS_MANY, 'UserCalendar', 'calendar_id'),
'calendarEvent' => array(self::HAS_MANY, 'CalendarEvent', 'calendar_id'),
}
在CalendarEvent:
relations() {
return array('calendar' => array(self::BELONGS_TO, 'Calendar', 'calendar_id'),);
}
而且在UserCalendar:
relations() {
return array('calendar' => array(self::BELONGS_TO, 'Calendar', 'calendar_id'),);
}
因此,爲了使UserCalendar
之間的聯繫和CalendarEvent
你需要使用日曆
$criteria = new CDbCriteria;
$criteria->with = array(
"calendarEvent"=>array('condition'=>'planned = 0'),
"userCalendar"=>array('condition'=> 'user_id =' . $user->id),
);
$calendar = Calendar::model()->find($criteria);
和$calendar->calendarEvent
將返回屬於用戶的calendarEvent的陣列
Q2:您可以啓用網頁記錄,以便所有的數據庫請求(和其他東西)會出現在頁面的末尾: Logging in Yii (see CWebLogging)
在您的應用程序配置把
'components'=>array(
......
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CWebLogRoute',
),
),
),
),
主動記錄類有希望的relations.In CalendarEvent公共職能關係() \t { \t \t返回陣列( \t \t \t '日曆'=>數組(自:: belongs_to的, '日曆', 'CALENDAR_ID'), \t \t); \t}和在UserCalendar \t公共函數關係() \t { \t \t返回陣列( \t \t \t '日曆'=>數組(自:: belongs_to的, '日曆', 'CALENDAR_ID'), \t \t \t 'user'=> array(self :: BELONGS_TO,'User','user_id'), \t \t); \t}您的查詢似乎無效。而對於日誌記錄,我無法看到記錄的消息在哪裏。 –
我 '登錄'=>數組( \t \t \t '類'=> 'CLogRouter', \t \t \t '路線'=>數組( \t \t \t \t陣列( \t \t \t \t \t '類' => 'CFileLogRoute', \t \t \t \t \t '水平'=> '錯誤,警告信息', \t \t \t \t),在我的main.php中,但我的webapp目錄中沒有CFileLogRoute。請詳細說明您的答案。謝謝。 –
對於日誌路徑,我認爲日誌文件所在的文件夾「運行」(例如在我的應用我有一個文件application.log)您可以在與該網頁顯示日誌創建: 陣列(「類」 => 'CWebLogRoute'), – darkheir