Zend Date дает мне нули, почему? - PullRequest
0 голосов
/ 30 сентября 2010

Больше проблем с датами.

В основном я пытаюсь заполнить таблицу некоторыми значениями даты и времени из Zend.Тип данных столбца, который я пытаюсь заполнить, - «datetime».Однако независимо от того, какую константу я пробую, столбец всегда заполняется нулями.Я пробовал Zend_Date::ISO_8601, Zend_Date::DATETIME, Zend_Date::now() безрезультатно.Пожалуйста, помогите.

Вот код:

           if(!$exists){
                $date_time = Zend_Date::DATETIME;
                /*
                 * Create the new site record
                 */
                $site_row = $site_table->createRow();
                //if(isset($n_r['id']))    $row->id  = $n_r['id'];
                $site_row->name         = $n_r['name'];
                $site_row->active       = 1;

                $site_id = $site_table->total() + 1;
                $address_id = $address_table->total() + 1;

                $site_row->id       = $site_id;
                $site_row->address_id       = $address_id;

                /*
                 * Create the address record to go with it
                 */
                $address_row = $address_table->createRow();
                $address_row->postcode = $n_r['postcode'];
                $address_row->address_line1 = $n_r['name'];
                $address_row->start_date = $date_time;

                $address_row->id = $address_id;
                $address_row->save();
                $array[] = $site_row->toArray();
                $site_row->save();

                /*
                 * Create the new site2address record to go with it
                 */
                $site2address_row = $site2address_table->createRow();
                $site2address_row->site_id = $site_id;
                $site2address_row->address_id = $address_id;
                $site2address_row->start_date = $date_time;
            }else{
                $array[] = $exists;
            }

Ответы [ 2 ]

1 голос
/ 30 сентября 2010

MySQL ожидает, что ввод для DATETIME столбцов будет

YYYY-MM-DD HH:MM:SS

независимо от используемой локали. Я не вижу константу Zend для этого, возможно, вам придется отформатировать ее самостоятельно.

0 голосов
/ 30 сентября 2010

Вы можете использовать функцию MySQL, как NOW () для более удобного пути. если вы находитесь на MySQL код ниже может работать для вас.

  $address_row->start_date = new Zend_Db_Expr('NOW()');
...