Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CakePHP] 0 i NULL w bazie danych
rkk
post 1.02.2010, 19:33:20
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 26.09.2006

Ostrzeżenie: (0%)
-----


Witam,
Mam problem z automatycznym tworzeniem zapytań do bazy w cake php.
Gdy jako argument funkcji podaję 0 to zapytanie przekształca tą wartość na NULL.
Korzystam z behaviora Translate oraz Tree i problem występuje w generowanych przez niego zapytaniach.

Kod pobierający wpisy o danym parent_id
  1. $result = $this->{$this->modelName}->Children(intval($id),true);


Wygenerowane zapytanie SQL
  1. SELECT `Page`.* AS `Page__*`, `I18n__name`.`content` AS `I18n__name__content`, `I18n__content`.`content` AS `I18n__content__content` FROM `pages` AS `Page` LEFT JOIN `i18n` AS `I18n__name` ON (`Page`.`id` = `I18n__name`.`foreign_key` AND `I18n__name`.`model` = 'Page' AND `I18n__name`.`field` = 'name') LEFT JOIN `i18n` AS `I18n__content` ON (`Page`.`id` = `I18n__content`.`foreign_key` AND `I18n__content`.`model` = 'Page' AND `I18n__content`.`field` = 'content') WHERE 1 = 1 AND [b]`Page`.`parent_id` IS NULL[/b] AND `I18n__name`.`locale` = 'pol' AND `I18n__content`.`locale` = 'pol' ORDER BY `Page`.`lft` ASC


Czy wie ktoś jak sobie poradzić z tym zachowaniem?

Ten post edytował rkk 1.02.2010, 19:35:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
fleshgrinder
post 3.02.2010, 23:18:24
Post #2





Grupa: Zarejestrowani
Postów: 77
Pomógł: 10
Dołączył: 4.11.2007

Ostrzeżenie: (0%)
-----


1. czy redkord o id = 0 na pewno istnieje? o ile sie nie myle, numeracja zaczyna sie od 1, a dla sprawdzenia probowalem wsadzic recznie, za pomoca INSERT INTO do mojej lokalnej bazy rekord o id = 0 - wszedl do bazy, ale nie na pozycje 0, tylko najblizsza wolna (17). MySQL.

2. po co intval dla $id?

sprawdzales jakie zapytania generowane sa dla roznych wartosci i typow $id?

  1. $result1 = $this->{$this->modelName}->Children(0,true);
  2. $result2 = $this->{$this->modelName}->Children,(1,true);
  3. $result3 = $this->{$this->modelName}->Children('0',true);
  4. $result4 = $this->{$this->modelName}->Children('1',true);


Ten post edytował fleshgrinder 3.02.2010, 23:19:45
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:08