Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Как правильно передать значение
http://forum.kohanaframework.su/viewtopic.php?f=31&t=183
Страница 1 из 1

Автор:  dimaua2 [ 11 май 2012, 00:23 ]
Заголовок сообщения:  Как правильно передать значение

Вот смотрите есть два метода

Код:
   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']))

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

Автор:  mamahtehok [ 11 май 2012, 00:44 ]
Заголовок сообщения:  Re: Как правильно передать значение

по идеи так
Код:
->values(array($user['code'], NULL, $user['note']))

Автор:  dimaua2 [ 11 май 2012, 00:58 ]
Заголовок сообщения:  Re: Как правильно передать значение

спасибо работает))
я чуток промахнулся, когда пытался сделать)

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

Автор:  dimaua2 [ 11 май 2012, 16:30 ]
Заголовок сообщения:  Re: Как правильно передать значение

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

Автор:  dimaua2 [ 11 май 2012, 20:08 ]
Заголовок сообщения:  Re: Как правильно передать значение

подскажите как значение наме сделать нул

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

Автор:  mamahtehok [ 11 май 2012, 20:53 ]
Заголовок сообщения:  Re: Как правильно передать значение

Код:
$item = array(
'code' => $row[0],
'name' => null,
'role' => $row[2],
'note' => $row[3],
);


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


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

Автор:  dimaua2 [ 11 май 2012, 22:08 ]
Заголовок сообщения:  Re: Как правильно передать значение

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

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/