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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 27 мар 2013, 16:14 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
а вот еще такая штука интересная. вот основная таблица связывается с дополнительной(справочником), в одном экшене всё работает норм, а в другом - пустая страница.

вот например

Тут всё работает как надо:

Код:
$lines = DB::select('line.*', 'master.master', 'made.*', 'apparat.*', 'check.*')
         ->from('line')
                   ->join('apparat')
                   ->on('line.apparat_id', '=', 'apparat.apparat_id')
                        ->join('made')
                        ->on('made.made_id', '=', 'line.made_id')
                        ->join('master')
                        ->on('master.master_id', '=', 'line.master_id')
                        ->join('check')
                        ->on('check.check_id', '=', 'line.check_id')
         ->order_by('date_in', 'DESC')
         ->execute();


а здесь, тоже самое, но как только добавляю связь по таблицам msters и/или check - результат на выводе пустая страница:

Код:
$zakazs = DB::select('main.*', 'master.master', 'made.*', 'apparat.*', 'check.*')
                                ->from('main')
                                    ->join('customer')
                                    ->on('main.customer_id', '=', 'customer.customer_id')
                                    ->join('master')
                                    ->on('main.master_id', '=', 'master.master_id')
                                    ->join('apparat')
                                    ->on('apparat.apparat_id', '=', 'main.apparat_id')
                                    ->join('made')
                                    ->on('made.made_id', '=', 'main.made_id')
                                    ->join('check')
                                    ->on('check.check_id', '=', 'main.check_id')
                                ->where('conclusion', 'is not', NULL)
                                ->execute();


помогите осознать в чём здесь полтергейст


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 27 мар 2013, 23:42 
Не в сети
Бывалый

Зарегистрирован: 11 июл 2012, 22:36
Сообщения: 41
А ошибки не выводит, просто белая страница?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 28 мар 2013, 10:57 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
всё есть, ссылки, картинки, подписи, а именно в том месте где должны выводиться данные с бд - пусто. как только я убираю связь с таблицами masters и check, запрос работает правильно и всё выводится.

вот дамп в момент когда связь с глючными таблицами создана:

Код:
object Database_MySQL_Result(7) {
    protected _internal_row => integer 0
    protected _query => string(419) "SELECT `main`.*, `master`.`master`, `made`.*, `apparat`.*, `customer`.*
FROM `main`
JOIN `customer` ON (`main`.`customer_id` = `customer`.`customer_id`)
JOIN `master` ON (`main`.`master_id` = `master`.`master_id`)
JOIN `apparat` ON (`apparat`.`apparat_id` = `main`.`apparat_id`)
JOIN `made` ON (`made`.`made_id` = `main`.`made_id`)
JOIN `check` ON (`check`.`check_id` = `main`.`check_id`)
WHERE `conclusion` IS NOT NULL"
    protected _result => resource(mysql result)
    protected _total_rows => integer 0
    protected _current_row => integer 0
    protected _as_object => bool FALSE
    protected _object_params => NULL
}


вот как это выглядит


Вложения:
1.jpg
1.jpg [ 97.56 КБ | Просмотров: 6992 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 28 мар 2013, 11:00 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
и что самое интересное. у меня есть ещё одна таблица, где используются все эти связи. и ВСЁ работает, а именно с главной таблицей - проблемы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 28 мар 2013, 18:13 
Не в сети
Бывалый

Зарегистрирован: 02 июн 2012, 07:14
Сообщения: 69
prickle писал(а):
и что самое интересное. у меня есть ещё одна таблица, где используются все эти связи. и ВСЁ работает, а именно с главной таблицей - проблемы.

Проверьте, есть ли в таблице master данные, связанные по master_id с другой таблицей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 29 мар 2013, 10:43 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
проверила. лишних связей нет.
заметила одну особенность: если в базу ручка вбить id мастера или второй таблицы с которой у меня глюк, то все "глюки" пропадают. как так-то?(((

а если остаётся поле с мастерами NULL или 0 - то опять все не работает...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 29 мар 2013, 11:14 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
я уже пробовала и заново все связи переписывать, и базу заново создавала (благо маленький объём )) )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 29 мар 2013, 11:41 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
приходится юлить. вместо null-ов пришлось делать значения по умолчанию. т.е. в мастерах пришлось сделать "универсальную" запись типа
Код:
"master_id = 08; master = ФИО; adres = адрес; tells = телефоны; дата рождения = 0000-00-00"

а в второй глючной таблице проще - у меня всего там две позиции
Код:
"chech_id = 01; check = да"

и
Код:
"chech_id = 02; check = нет"

по умолчанию выбирается "нет".
в принципе это меня устраивает, но хочется понять почему приходится так поступать....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 29 мар 2013, 16:37 
Не в сети
Бывалый

Зарегистрирован: 02 июн 2012, 07:14
Сообщения: 69
Я ничего не пойму)
Судя по запросам вы связываете таблицу master с таблицей main по полю master_id, значит в таблице main должно быть поле master_id с заполненными значениями(не NULL), либо вам нужно использовать LEFT JOIN, это уже зависит от задачи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 30 мар 2013, 12:35 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
поняли всё правильно, именно всё так и работает. у меня 2 таблицы основные, которые собрают в себе данные из справочников, злополучная main и line. так вот в таблице line, сделанно всё аналогично как в main, все ключи, связи, запросы на выборку идентичные. с ней всё хорошо. а вот с main вот таки "коники" получаются.

в принципе из положения я вышла, но, блин, я в шоке))))))

СПАСИБО, что помогали :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу Пред.  1, 2, 3  След.

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


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

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


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

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