Ошибка при переносе на хостинг

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Ошибка при переносе на хостинг

Сообщение azz »

Приветствую. На локальном компьютере (OpenServer, PHP 5.6.29, MySQL 5.53, Apache 2.4) проект полностью рабочий.
При переносе на хостинг (PHP 5.6.30, MySQL 5.55, nginx 1.12.1) всё работает, кроме одного места, где вылазит ошибка "Trying to get property of non-object".

Проблемное место находится в контроллере, при выводе формы добавления записи в бд:

Код: Выделить всё

    public function actionCreate() {
        $model = new Sites();

        if ($model->load(Yii::$app->request->post())) {
            $model->saveNewSite();

            return $this->redirect(['view', 'id' => $model->id]);
        } else {
            $sitesGroups = new \app\models\SitesGroups();

--->            $model->group_id = $model->relSitesSgroups->site_group_id;

            return $this->render('create', [
                        'model' => $model,
                        'sitesGroups_v' => $sitesGroups->getAllGroupsAsArray(),
            ]);
        }
    }
ругается на отмеченную строку, конкретно на $model->relSitesSgroups->site_group_id
если вывести дебагом $model->relSitesSgroups, выводит null и локально, и на хостинге. Если же добавить "->site_group_id", на хостинге выдаёт ошибку.

модель:

Код: Выделить всё

    public function getRelSitesSgroups() {
        return $this->hasOne(RelSitesSgroups::className(), ['site_id' => 'id']);
    }
куда копать, подскажите. Вообще в тупике нахожусь :shock:
slo_nik
Сообщения: 344
Зарегистрирован: 2013.10.07, 19:08

Re: Ошибка при переносе на хостинг

Сообщение slo_nik »

А запись соответствующая есть в базе?
Сделайте проверку, если null, то выводить предупреждение, если нет, то выводить запись.
WalpeR
Сообщения: 64
Зарегистрирован: 2016.08.29, 17:21

Re: Ошибка при переносе на хостинг

Сообщение WalpeR »

так если relSitesSgroups == null откуда возьмется site_group_id ? И добавь себе в openserver index
error_reporting(E_ALL);
ini_set('display_errors', 1);
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Ошибка при переносе на хостинг

Сообщение Dominus »

А если так записать?

Код: Выделить всё

$sitesSgroups = $model->getRelSitesSgroups()->one();
$model->group_id = $sitesSgroups->site_group_id;
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: Ошибка при переносе на хостинг

Сообщение azz »

slo_nik писал(а): 2017.08.22, 17:44 А запись соответствующая есть в базе?
Сделайте проверку, если null, то выводить предупреждение, если нет, то выводить запись.
Да, на свежую голову сообразил, что записи-то нет. Для действия create эта строчка вообще не нужна, а для update добавил проверку isset. Ошибка ушла.
WalpeR писал(а): 2017.08.22, 17:48 так если relSitesSgroups == null откуда возьмется site_group_id ? И добавь себе в openserver index
error_reporting(E_ALL);
ini_set('display_errors', 1);
Добавил, ошибка появилась и в локальной версии. Интересно. Я думал, если включена debug версия, эти строчки подразумеваются, оказывается нет?
Ответить