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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Как правильно передать значение
СообщениеДобавлено: 11 май 2012, 00:23 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
Вот смотрите есть два метода

Код:
   public function importUsers($filename)
   {
      $errors = array();
      $data = $this->getUsersData($filename);
      
      foreach ($data as $user)
      {
         $err = $this->validateRegCode($user);
         if (count($err) == 0)
         {
            list($insert_id, $affected_rows) =
            DB::insert('users', array('confirmcode', 'name', 'note'))
               ->values(array($user['code'], $user['name'], $user['note']))
               ->execute();
            
            $obj = ORM::factory('user', $insert_id);
            $obj->setRole($user['role']);
         }
         else
         {
            foreach ($err as $e)
               $errors[] = $user['name'].' - '.$e;
         }
      }
      
      return $errors;
   }


Код:
   protected function getUsersData($filename)
   {
      if (($handle = fopen($filename, 'r')) === FALSE)
      {
         fclose($handle);
         throw new Exception('Error: file '.$filename.' is not readable.');
      }
      
      $data = array();
      
      while (($row = fgetcsv($handle, 1000, ';', '"')) !== FALSE)
      {
         $item = array(
            'code' => $row[0],
            'name' => $row[1],
            'role' => $row[2],
            'note' => $row[3],
         );
         
         $data[] = $item;
      }
      
      fclose($handle);
      
      return $data;
   }


в котором есть 'name'
как в него передать значение нул
то есть я хочу что бы при загрузке пользователей (точнее коды реги)
я указал все кроме имени (при реге сами укажут)
в значение наме ишло нулл

просто понять пока не могу как правильно
намекните)

->values(array($user['code'], $user['name'] = NULL, $user['note']))

думал вот так но не вышло

_________________
iReznik.com


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

Зарегистрирован: 16 апр 2012, 19:44
Сообщения: 113
по идеи так
Код:
->values(array($user['code'], NULL, $user['note']))


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

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
спасибо работает))
я чуток промахнулся, когда пытался сделать)

======================
а не не сработало(
просто я случайно не тот файл залил (где с именем)

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 май 2012, 16:30 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
что значит эта строчка?
$errors[] = $user['name'].' - '.$e;

_________________
iReznik.com


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

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
подскажите как значение наме сделать нул

по идее нужно что бы
$item = array(
'code' => $row[0],
'name' => $row[1],
'role' => $row[2],
'note' => $row[3],
);
вот тут как то задавалось это

_________________
iReznik.com


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

Зарегистрирован: 16 апр 2012, 19:44
Сообщения: 113
Код:
$item = array(
'code' => $row[0],
'name' => null,
'role' => $row[2],
'note' => $row[3],
);


Цитата:
что значит эта строчка?
Код:
$errors[] = $user['name'].' - '.$e;


создает масив errors в котором кажжый элемент выглядит как "имя_пользователя - ошибка из масива err"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 май 2012, 22:08 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
не не прокатило, та я вобщем убрал все что не нужно и работает..пусть уже будет так
ту строчку немного вот так поправил
$errors[] = $user['role'].' - '.$e;
норм?

_________________
iReznik.com


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

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


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

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


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

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