Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Kondrat Гость цитировать
|
Добавлено: 15 Мар 2008 22:10:46 Заголовок сообщения: Paginate вопрос |
|
|
Не могу понять: У меня ассоциация Model1->Model2
Пытаюсь написать что-то типа
Код: |
$conditions = array('Model1.columnX' = 1, 'Model2.columnY' = 2);
$this->set( 'smths', $this->paginate('Model1',$conditions) );
|
Пишет, что
SQL Error: 1054: Unknown column 'Model2.columnY' in 'where clause'
Help
|
|
Вернуться к началу |
|
|
xxx
цитировать
Зарегистрирован: 03 Мар 2008 15:58:41 Сообщения: 24
|
Добавлено: 15 Мар 2008 22:21:21 Заголовок сообщения: |
|
|
вторая моделька подключенна в контроллер? |
|
Вернуться к началу |
|
|
Kondrat Гость цитировать
|
Добавлено: 15 Мар 2008 22:34:34 Заголовок сообщения: |
|
|
Я не совсем понимаю, как это правильно сделать.
пытался типа тка:
Код: |
var $paginate = array( 'Model1' => array( 'limit' => 2, 'order' => array('Model1.id' => 'desc' ) ),
'Model2' ); |
не помогло |
|
Вернуться к началу |
|
|
DeeperMD
цитировать
Зарегистрирован: 08 Фев 2008 15:04:11 Сообщения: 144 Откуда: $Молдова->Кишинёв->Буюканы()
|
Добавлено: 17 Мар 2008 11:59:51 Заголовок сообщения: |
|
|
Наврядли так получиться..
Код: | $conditions = array('Model1.columnX' = 1, 'Model2.columnY' = 2); |
Потому как переменная $conditions напрямую отправляется в SQL запрос, интересно откуда в запросе известно про стороннюю модель.. Для этого делайте joinModel |
|
Вернуться к началу |
|
|
Kondrat Гость цитировать
|
Добавлено: 17 Мар 2008 14:49:25 Заголовок сообщения: |
|
|
Я про joinModel что-то не нашел в мунуале.
Вы можете пример показать.
Спасибо.
|
|
Вернуться к началу |
|
|
DeeperMD
цитировать
Зарегистрирован: 08 Фев 2008 15:04:11 Сообщения: 144 Откуда: $Молдова->Кишинёв->Буюканы()
|
Добавлено: 17 Мар 2008 14:51:35 Заголовок сообщения: |
|
|
http://api.cakephp.org/1.2/class_model.html#be05a2a38406262a0c283c07ced4a818 |
|
Вернуться к началу |
|
|
Kondrat Гость цитировать
|
Добавлено: 17 Мар 2008 15:37:19 Заголовок сообщения: |
|
|
А все-таки для тех, кто в танке. Уже 5 способов попробовал.
Просто пример кода с joinModel. Или на словах.
|
|
Вернуться к началу |
|
|
DeeperMD
цитировать
Зарегистрирован: 08 Фев 2008 15:04:11 Сообщения: 144 Откуда: $Молдова->Кишинёв->Буюканы()
|
Добавлено: 17 Мар 2008 16:02:06 Заголовок сообщения: |
|
|
Это появилося тока в 1.2 инфы очень мало..
Сорри но нет времени разбираться..
Могу объяснить тока теорию..
Сами понимаете чтобы задать условия в SQL для двух таблиц нужно их соединить в одно запросе. Для этого делается joinModel, т.е. в результате должно получиться что в запрос будет добавлена не одна таблица а еще и вторая и третяя.. условия для которых вы и прописали в:
Код: | $conditions = array('Model1.columnX' = 1, 'Model2.columnY' = 2); |
без joinModel, в запросе нет указания что используется сторонняя модель Model2, поэтому и получаете ошибку.. |
|
Вернуться к началу |
|
|
euroz_ford Гость цитировать
|
Добавлено: 17 Мар 2008 16:48:27 Заголовок сообщения: Запчасти Ford, Двигатель Форд, КПП Форд |
|
|
Запчасти Ford Transit, Запчасти Ford connect, Запчасти Ford Maverik, Запчасти Форд транзит в наличии со склада в Москве .
Всегда на складе запчасти Форд фокус, КПП Форд Транзит, Двитель Форд транзит, турбина Форд транзит, Форсунки Форд.
http://www.eurozapchast.ru/ - Запчасти Форд поршня Форд, колнвал Форд,
ГБЦ Форд, распредвал Форд, Неоригинальные запчасти Форд, Поставка запчастей Форд.
http://www.eurozapchast.ru/ - Запчасти ford
Последний раз редактировалось: euroz_ford (20 Янв 2009 02:46:02), всего редактировалось 2 раз(а) |
|
Вернуться к началу |
|
|
DeeperMD
цитировать
Зарегистрирован: 08 Фев 2008 15:04:11 Сообщения: 144 Откуда: $Молдова->Кишинёв->Буюканы()
|
Добавлено: 17 Мар 2008 16:52:49 Заголовок сообщения: |
|
|
Ну вообще другое имелось ввиду..
Я бы в первой модели присоединил вторую модель и использовал как вы и хотели.. |
|
Вернуться к началу |
|
|
Kondrat Гость цитировать
|
Добавлено: 17 Мар 2008 17:16:10 Заголовок сообщения: |
|
|
Цитата: |
Я бы в первой модели присоединил вторую модель и использовал как вы и хотели..
|
У меня есть ассоциация hasMany. Model1->Model2.
Я именно не понимаю как к первой модели присоединить вторую и использовать paginate. Те может это просто, я наверное в простом вопросе запутался. (Я еще не очень хорошо разбираюсь в cake)
|
|
Вернуться к началу |
|
|
DeeperMD
цитировать
Зарегистрирован: 08 Фев 2008 15:04:11 Сообщения: 144 Откуда: $Молдова->Кишинёв->Буюканы()
|
Добавлено: 17 Мар 2008 17:27:59 Заголовок сообщения: |
|
|
Ассоциации здесь не причем...
Ассоциация соединяет модели на уровне результатов..
А вам я так понимаю нужно объединить модели до запроса. Чтобы SQL выдал нужные записи первой модели..
У вас должен получить запрос:
Код: | SELECT * FROM table1 as Model1, table2 as Model2 WHERE Model1.columnX=1 AND Model2.columnY=2 |
Этот запрос даст вам то что вы хотите. Как это решить с помошью пирожка точно не знаю но догадываюсь что через joinModel...
В принципе если хотите то можете написать отдельный метод для первой модели который исполняет этот запрос... |
|
Вернуться к началу |
|
|
Kondrat Гость цитировать
|
Добавлено: 17 Мар 2008 17:54:59 Заголовок сообщения: |
|
|
ОК, буду искать.
Конкретную мою задачу я уже давно решил, переделал модели... но это к вопросу не относится. Я findAll приводил, тк в мануале написано, что paginate работает как findAll, но в findAll все элементарно, в 1 строчку пишется. А без paginate я уже пирожок не представляю. |
|
Вернуться к началу |
|
|
Vlad
цитировать
Зарегистрирован: 02 Ноя 2007 11:45:52 Сообщения: 241
|
Добавлено: 15 Сен 2008 10:07:17 Заголовок сообщения: |
|
|
Удалось решить задачу?
Я сейчас как раз над аналогичной проблемой бьюсь.
Есть несколько связанных моделей, хочу получить paginate для Related модели.
И не выходит
То есть если делать запрос findAll - тогда отлично работает и хитрый запрос, и behaviors Containable...
Но стоит включить paginate - как всё. Уходит в бесконечный цикл...
(версия кейка 1.2) |
|
Вернуться к началу |
|
|
Vlad
цитировать
Зарегистрирован: 02 Ноя 2007 11:45:52 Сообщения: 241
|
Добавлено: 15 Сен 2008 11:14:10 Заголовок сообщения: |
|
|
О. Сам себе отвечу
http://cakebaker.42dh.com/2007/10/17/pagination-of-data-from-a-habtm-relationship/ |
|
Вернуться к началу |
|
|
|