Return value of none returned - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

СвернутьПрикрепленные теги

Теги не найдены

  • 2 Страниц +
  • 1
  • 2

Return value of none returned

#1 Пользователь не на сайте   TemKa_SD ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 198
  • Регистрация: 16-Январь 18
  • Репутация: 1
  • IPB version:4.1.x
 

Отправлено 28 Август 2018 - 00:19

Здравствуйте. Почему не возвращает значения из \IPS\sharedstats\Records\ScoredGame?

    /**
     * @param array $game
     * @param string $type
     * @return StatsGamesScored
     */
    protected function createGameEntity(array $game, $type): \IPS\sharedstats\Records\ScoredGame {
        $scoredGame = new \IPS\sharedstats\Records\ScoredGame();
        #$scoredGame->gameid = $game['id'];
        $scoredGame->setGameid($game['id']);
        $scoredGame->setGamename($game['gamename']);
        $scoredGame->setDuration($game['duration']);
        $scoredGame->setUuid($game['uuid']);
        $scoredGame->setMap($game['map']);
        $scoredGame->setSaved(new \DateTime($game['datetime']));
        $scoredGame->setScored(new \DateTime());
        $scoredGame->setType($type);
        #$scoredGame->setTeam1win(50.00);
        #$scoredGame->setTeam2win(50.00);
        $scoredGame->setLobbyChats(json_encode([]));
        $scoredGame->setGameChats(json_encode([]));
        $scoredGame->setPlayerawards(json_encode([]));
        $scoredGame->setWinner(0);

        $scoredGame->save();
    }

0

#2 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 354
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 342
  • IPB version:I have no IPB
 

Отправлено 28 Август 2018 - 08:14

Просмотреть сообщениеTemKa_SD сказал(а):

protected function createGameEntity(array $game, $type): \IPS\sharedstats\Records\ScoredGame {


Вы указали, что должен вернуться объект класса \IPS\sharedstats\Records\ScoredGame, но ничего не возвращаете.
       $scoredGame->save();
       return $scoredGame;

0

#3 Пользователь не на сайте   TemKa_SD ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 198
  • Регистрация: 16-Январь 18
  • Репутация: 1
  • IPB version:4.1.x
 

Отправлено 28 Август 2018 - 08:33

Просмотреть сообщениеnewbie 28 Август 2018 - 08:14 сказал(а):

Вы указали, что должен вернуться объект класса \IPS\sharedstats\Records\ScoredGame, но ничего не возвращаете.


Значит это не то. Я во всём разобрался, у меня всё отлично работает, данные собираются между функциями, сохраняются - всё отлично.

Т.е если взять вот эту строку:

$scoredGame->setGameid($game['id']);


Работать не будет, функция не работает, она в прикрепленном файле. Если использовать значение передаваемое в таске между функциями то всё работает отлично:

$scoredGame->gameid = $game['id'];


Этот весь функционал с другого движка, на котором всё работало, помогите разобраться с функциями в файле ScoredGame, почему не возвращает нужные значения. Т.е если в функции прописать return 1; то вернет всё как надо, не работают именно переменные почему-то.

Вложений


0

#4 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 354
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 342
  • IPB version:I have no IPB
 

Отправлено 28 Август 2018 - 08:57

Что именно не работает?

Цитата

.е если в функции прописать return 1; то вернет всё как надо, не работают именно переменные почему-то
Где прописать?
0

#5 Пользователь не на сайте   TemKa_SD ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 198
  • Регистрация: 16-Январь 18
  • Репутация: 1
  • IPB version:4.1.x
 

Отправлено 29 Август 2018 - 11:21

Вот на скрине, если вернуть просто 1 то оно вернет, а через this не работает почему-то.

Вложений


0

#6 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 354
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 342
  • IPB version:I have no IPB
 

Отправлено 29 Август 2018 - 11:41

А дальше? Где Вы эту единицу используете?

В каком конкретно месте происходит не то, что ожидаете?
0

#7 Пользователь не на сайте   TemKa_SD ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 198
  • Регистрация: 16-Январь 18
  • Репутация: 1
  • IPB version:4.1.x
 

Отправлено 29 Август 2018 - 14:32

$scoredGame->setGameid($game['id']);

0

#8 Пользователь не на сайте   TemKa_SD ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 198
  • Регистрация: 16-Январь 18
  • Репутация: 1
  • IPB version:4.1.x
 

Отправлено 30 Август 2018 - 07:32

Еще раз попробую объяснить.

    /**
     * @param array $game
     * @param string $type
     * @return StatsGamesScored
     */
    protected function createGameEntity($game, $type): StatsGamesScored {
        $scoredGame = new StatsGamesScored();
        #$scoredGame->gameid = $game['id'];
        $scoredGame->setGameid($game['id']);
        $scoredGame->setGamename($game['gamename']);
        $scoredGame->setDuration($game['duration']);
        $scoredGame->setUuid($game['uuid']);
        $scoredGame->setMap($game['map']);
        $scoredGame->setSaved(new \DateTime($game['datetime']));
        $scoredGame->setScored(new \DateTime());
        $scoredGame->setType($type);
        #$scoredGame->setTeam1win(50.00);
        #$scoredGame->setTeam2win(50.00);
        $scoredGame->setLobbyChats(json_encode([]));
        $scoredGame->setGameChats(json_encode([]));
        $scoredGame->setPlayerawards(json_encode([]));
        $scoredGame->setWinner(0);

        $scoredGame->save();
        
        return $scoredGame;
        
    }


Вот в этом коде возвращаем значения из файла - функций (StatsGamesScored)
$scoredGame->setGameid($game['id']);


Я пробую сейчас вернуть просто двойку, оно не возвращает, почему?

    /**
     * Set gameid
     *
     * @param integer $gameid
     *
     * @return StatsGamesScored
     */
    public function setGameid($gameid)
    {
        return 2;
    }

0

#9 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 354
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 342
  • IPB version:I have no IPB
 

Отправлено 30 Август 2018 - 09:50

Покажите, где Вы пытаетесь получить двойку
0

#10 Пользователь не на сайте   TemKa_SD ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 198
  • Регистрация: 16-Январь 18
  • Репутация: 1
  • IPB version:4.1.x
 

Отправлено 30 Август 2018 - 10:02

Цитата

/**
* @param array $game
* @param string $type
* @return StatsGamesScored
*/
protected function createGameEntity($game, $type): StatsGamesScored {
$scoredGame = new StatsGamesScored();
#$scoredGame->gameid = $game['id'];
$scoredGame->setGameid($game['id']);
$scoredGame->setGamename($game['gamename']);
$scoredGame->setDuration($game['duration']);
$scoredGame->setUuid($game['uuid']);
$scoredGame->setMap($game['map']);
$scoredGame->setSaved(new \DateTime($game['datetime']));
$scoredGame->setScored(new \DateTime());
$scoredGame->setType($type);
#$scoredGame->setTeam1win(50.00);
#$scoredGame->setTeam2win(50.00);
$scoredGame->setLobbyChats(json_encode([]));
$scoredGame->setGameChats(json_encode([]));
$scoredGame->setPlayerawards(json_encode([]));
$scoredGame->setWinner(0);

$scoredGame->save();

return $scoredGame;

}

0

#11 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 354
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 342
  • IPB version:I have no IPB
 

Отправлено 30 Август 2018 - 10:42

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

Цитата

$scoredGame->setGameid($game['id']);

Здесь идет присваивание $scoredGame->gameid = $game['id'];
Где Вы хотите получить двойку, не понятно.

Чтобы получить двойку
    public function setGameid($gameid)
    {
        return 2;
    }

и
$two = $scoredGame->setGameid($game['id']);

Тогда значение переменной $two будет 2
0

#12 Пользователь не на сайте   TemKa_SD ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 198
  • Регистрация: 16-Январь 18
  • Репутация: 1
  • IPB version:4.1.x
 

Отправлено 30 Август 2018 - 11:17

Хорошо, вот такой код почему возвращает null?

$scoredGame->setGameid($game['id']);


    /**
     * Set gameid
     *
     * @param integer $gameid
     *
     * @return StatsGamesScored
     */
    public function setGameid($gameid)
    {
        $this->gameid = $gameid;

        return $this;
    }

Сообщение изменено: TemKa_SD (30 Август 2018 - 11:18)

0

#13 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 354
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 342
  • IPB version:I have no IPB
 

Отправлено 30 Август 2018 - 11:32

Цитата

Хорошо, вот такой код почему возвращает null?

Как Вы определяете, что NULL?
0

#14 Пользователь не на сайте   TemKa_SD ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 198
  • Регистрация: 16-Январь 18
  • Репутация: 1
  • IPB version:4.1.x
 

Отправлено 30 Август 2018 - 12:08

В БД идет стандартное значение "0" при сохранении $scoredGame->save();.
0

#15 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 3 354
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 342
  • IPB version:I have no IPB
 

Отправлено 30 Август 2018 - 12:44

Просмотреть сообщениеTemKa_SD сказал(а):

В БД идет стандартное значение "0" при сохранении $scoredGame->save();.

Из-за
    protected $poolid;

0

Сообщить об этой теме:


  • 2 Страниц +
  • 1
  • 2


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2018 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна