Непонятки с созданием контакта.

racheev


$contact = new waContact();
$contact->save(array(
    'name'	    => $firstname.' '.$lastname,
    'firstname'     => $firstname,
    'middlename'    => $middlename,
    'lastname'	    => $lastname,
    'sex'	    => $sex,
    'birth_day'	    => $birth_day,
    'birth_month'   => $birth_month,
    'birth_year'    => $birth_year,
));

По идее все правильно в этом коде. Но создаются только Имя Фамилия Отчество ну и поле name. Ни пол ни день рождения не добавляются в базу. Может я тут https://developers.webasyst.ru/cookbook/contacts-a... что-то недопонимаю? Все данные приходят нормально. В чем может быть проблема?

24 марта 2016
  • racheev 24 марта 2016 14:19

    Служба поддержки, вы что скажете-то? Проблема только у меня или опять ждать обновление?

  • racheev 24 марта 2016 15:59

    Извиняюсь, не работает локально.. На сервере работает и создает и дату и пол.. Вообще не понимаю ничего. Совет нужен.

  • Михаил Проектов 24 марта 2016 16:17

    Проверил в developer'e и Ваш формат и вариант из формы сохранения контакта.
    Оба работают.
    Данные в базе сохраняются.

    $firstname = 'First';
    $lastname = 'Last';
    $middlename = 'Middle';
    $sex = 'M';
    $birth_day = '01';
    $birth_month = '01';
    $birth_year = '1970';
    
        
    $contact1 = new waContact();
    $contact1->save(array(
        'name'          => $firstname.' '.$lastname,
        'firstname'     => $firstname,
        'middlename'    => $middlename,
        'lastname'      => $lastname,
        'sex'           => $sex,
        'birthday'     => array (
            "value" => array (
                "day" => $birth_day,
                "month" => $birth_month,
                "year" => $birth_year,
                )
            )
        )
    );
    
    $contact2 = new waContact();
    $contact2->save(array(
        'name'          => $firstname.' '.$lastname,
        'firstname'     => $firstname,
        'middlename'    => $middlename,
        'lastname'      => $lastname,
        'sex'           => $sex,
        'birth_day'    => $birth_day,
        'birth_month' => $birth_month,
        'birth_year' => $birth_year,
    ));
    
    $contact_test1 = new waContact($contact1->getId());
    $contact_test2 = new waContact($contact2->getId());
    
    wa_dumpc(
        $contact_test1->get('birthday'),
        $contact_test1->get('sex'),
        $contact_test2->get('birthday'),
        $contact_test2->get('sex')
    );

    Вывод:

    PHP
    dumped from /var/www/webasyst/wa-apps/developer/lib/actions/developerBackendExec.action.php(25) : eval()'d code line #47:
    
    Array
    (
      data => Array
      (
        year => '1970'
        month => '1'
        day => '1'
      )
      value => '1 января 1970'
    )
    
    'm'
    
    Array
    (
      data => Array
      (
        year => '1970'
        month => '1'
        day => '1'
      )
      value => '1 января 1970'
    )
    
    'm'
    
        'prefix' => 'webasyst',
        'version' => '1.5.6',
    
  • racheev 24 марта 2016 16:36

    На сервере у меня то же сохранило.. почему локально не хочет?... Работаю на маке. Системы одинаковы. Ладно, буду думать потом, сейчас главное что там работает. А тут как-то половинчато.

Добавление новых комментариев к этой теме отключено.