powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (php) deleteAll и with
3 сообщений из 3, страница 1 из 1
(php) deleteAll и with
    #38633526
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет.

Код: php
1.
Page::model()->with('Tree')->deleteAll('`Tree`.`id` IS NULL');



связь никак не вкладывается в запрос (получаю ошибку "Unknown column 'Tree.id' in 'where clause'. The SQL statement executed was: DELETE FROM `page` WHERE `Tree`.`id` IS NULL")

Вот хочу узнать, это у меня руки кривые после праздников, или так и задумано (что связи используются только при чтении с базы).
Если всё же руки прямые и всё так и должно быть, то как правильнее всего запрос такой выполнить? :)
я понимаю что можно загнуть типа Yii::app()->db->createCommand("DELETE FROM `".Page::model()->tableName()."` LEFT JOIN ... bla-bla-bla-bla")->execute(); но это как-то не круто :) есть ли способ попроще и компактнее?

заранее спасибо
...
Рейтинг: 0 / 0
(php) deleteAll и with
    #38634020
FatalPHPError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какой запрос ожидается получить? Покажите метод relations() модели и структуру таблиц
...
Рейтинг: 0 / 0
(php) deleteAll и with
    #38634179
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FatalPHPErrorКакой запрос ожидается получить? Покажите метод relations() модели и структуру таблиц
ожидается запрос типа такого:
Код: sql
1.
DELETE `page` FROM `page` LEFT JOIN `menuTree` `Tree` ON `Tree`.`id`=`page`.`id` WHERE `Tree`.`id` IS NULL



Связи у модели Page прописаны так:
Код: php
1.
2.
3.
4.
5.
6.
7.
	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_merge(parent::relations(), array(
		));
	}


А у родителя (предка) связи прописаны так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
	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(
			'Tree'		=> array(
				self::HAS_ONE, 
				'MenuTree', 
				'id',
				'joinType'=>'LEFT JOIN'
			)
		);
	}



цепочка наследования: CActiveRecord => ModuleActiveRecord => Page


При этом код типа Page::model()->with("Tree")->findAll("`Tree`.`title`='bla-bla'") отрабатывают нормально.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (php) deleteAll и with
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]