Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 29 мар 2024, 18:58

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 11 окт 2012, 20:08 
Не в сети
Зеленый

Зарегистрирован: 11 окт 2012, 02:17
Сообщения: 4
Доброго времени суток форумчане.
Может быть мой вопрос покажется смешным, но что то документация не помогла и на ум ничего умного не приходит.
Есть две таблицы
city
id
name

и kanal.
id
gorod //Это id города
name
info


Они связаны между собой в модели
вот связь в модели kanal
Код:
protected $_belongs_to = array(
        'city' =>array(
            'model' => 'city',
            'foreign_key' => 'gorod',
            ),
         );

а в модели city

Код:
protected $_has_many = array(
        'kanal' =>array(
            'model' => 'kanal',
            'foreign_key' => 'gorod',
            ),
    );


Когда вывожу каналы, нужно сделать сортировку по городам. но не пойму как сделать.
делаю запрос
Код:
$kanals = ORM::factory('kanal')->order_by('gorod')->find_all();

Но у меня сортирует по полю таблицы kanal. То есть по id города.
А нужно по названию города. А название хранится в таблице city.
Как можно поступить в данной ситуации? И возможно ли вообще сделать такую сортировку?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 окт 2012, 00:11 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05 июн 2012, 03:08
Сообщения: 213
Когда вывожу каналы, то сортирует по полю таблицы kanal, т.е. по id города, где id города - это gorod, а нужно по названию города, а название города в city, так? )))
Если вы выводите каналы, при чем тут город. Все правильно сортирует, т.к. вы и написали - по id города
Напишите нормально вопрос.
Определитесь с языком gorod, city, id города

_________________
http://de-en.info (работает на Kohana 3.3)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 окт 2012, 00:38 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Вобще ужас :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 окт 2012, 01:10 
Не в сети
Зеленый

Зарегистрирован: 11 окт 2012, 02:17
Сообщения: 4
AmberLEX писал(а):
Напишите нормально вопрос.
Определитесь с языком gorod, city, id города

1.Хозяин хочет сортировать каналы по названию города.(в админке в таблице(html) каналов выводится и название города к которому это канал принадлежит.Сортировать по клику в шапке таблиуы на названии города)
2. :shock: если б это я писал... А так мне досталась уже такая ботва. Переделывать на полном ходу базу я не решился.
3. Подразумевалось
Код:
//Это идентификатор города
. Так лучше? ;)


Последний раз редактировалось foreach 12 окт 2012, 01:16, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 окт 2012, 01:14 
Не в сети
Зеленый

Зарегистрирован: 11 окт 2012, 02:17
Сообщения: 4
Sergey писал(а):
Вобще ужас :D

Это вы всего не видели. Вы бы заикаться начали от этого ужаса. :lol:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 окт 2012, 02:10 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05 июн 2012, 03:08
Сообщения: 213
А не проще было написать запрос, который у вас выводит каналы и города, а потом решить, что не так?
В приведенном вами запросе не очень понятно как там с каналом выводится название города.

Типа этого нужно
$kanals = ORM::factory('kanal')->with('city')->order_by('name')->find_all();
или
$kanals = ORM::factory('kanal')->with('city')->order_by('city.name')->find_all();
Пробуйте как-то так, но т.к. с именованиями кариес, может не сработать))

_________________
http://de-en.info (работает на Kohana 3.3)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 окт 2012, 00:20 
Не в сети
Зеленый

Зарегистрирован: 11 окт 2012, 02:17
Сообщения: 4
AmberLEX писал(а):
В приведенном вами запросе не очень понятно как там с каналом выводится название города.

Там у меня связи в модели прописаны.
А название города вот так получаю
Код:
foreach($kanals as $kanal)
{
echo $kanal->city->name_city;
}

где city это у мен название связи.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group