Undefined variable: data

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
igor3310
Сообщения: 75
Зарегистрирован: 2015.07.24, 10:33

Undefined variable: data

Сообщение igor3310 » 2015.08.16, 18:22

Здравствуйте!
Подскажите пож - как решить ощибку при вызове Грида Undefined variable: data
Это когда вызываю Грид с параметром,типа

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

'ENG_CODE' => array(
              'header' => 'Тип',
              'type' => 'raw',
          [b]    'value' => $data["ENG_CODE"],[/b]
              'name' => 'ENG_CODE',
               ),
 
Но и это не все - когдаа его убираю (комментирую ) - то следом еще ощибка лезет Undefined variable: id - с data тут хоть понятно , а вот еще id откуда берется?

phpshko
Сообщения: 259
Зарегистрирован: 2015.03.21, 02:49

Re: Undefined variable: data

Сообщение phpshko » 2015.08.16, 18:45

UPD. Не заметил что первая версия. Нужно обернуть в кавычки

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

'value' => '$data["ENG_CODE"]'
 

igor3310
Сообщения: 75
Зарегистрирован: 2015.07.24, 10:33

Re: Undefined variable: data

Сообщение igor3310 » 2015.08.16, 19:09

Спасибки помогло , но потом в гриде (и не только в этом) выскакивает Undefined variable: id - но id нету у меня

phpshko
Сообщения: 259
Зарегистрирован: 2015.03.21, 02:49

Re: Undefined variable: data

Сообщение phpshko » 2015.08.16, 19:16

А на какую строку и в каком файле ругается? Может во вьюхе где-то закралась эта переменная?

igor3310
Сообщения: 75
Зарегистрирован: 2015.07.24, 10:33

Re: Undefined variable: data

Сообщение igor3310 » 2015.08.16, 20:02

ВО вьюхе нет (делал для теста пустую) , № строки непоказывает - такая ощибка и в других гридах в других модулях даже

Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Undefined variable: data

Сообщение Onotole » 2015.08.16, 20:58

А как dataProvider формируете?

igor3310
Сообщения: 75
Зарегистрирован: 2015.07.24, 10:33

Re: Undefined variable: data

Сообщение igor3310 » 2015.08.16, 21:05

запрос так Yii::app()->db->createCommand()
а потом чекрез new CArrayDataProvider

phpshko
Сообщения: 259
Зарегистрирован: 2015.03.21, 02:49

Re: Undefined variable: data

Сообщение phpshko » 2015.08.16, 21:08

igor3310 писал(а):запрос так Yii::app()->db->createCommand()
а потом чекрез new CArrayDataProvider
Вроде был такой косяк когда-то, потому что в выборке не было id. Точно не помню. В вашей выборке он есть?

Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Undefined variable: data

Сообщение Onotole » 2015.08.16, 21:11

В отправляемых в dataProvider данных должно быть id, что в db что в масиве

igor3310
Сообщения: 75
Зарегистрирован: 2015.07.24, 10:33

Re: Undefined variable: data

Сообщение igor3310 » 2015.08.16, 21:45

ну тут запрос непростой , как понять какой именно
$user = Yii::app()->db2->createCommand()
->select('publish,CONCAT("'.$brand.'") brand,TEX_ID, MOD_ID, TEX_TEXT AS MOD_CDS_TEXT, LEFT(u.MOD_PCON_START , 4) AS START, LEFT(u.MOD_PCON_END , 4) AS END')
->from('MODELS u')
->join('COUNTRY_DESIGNATIONS p' , 'p.CDS_ID = u.MOD_CDS_ID')
->join('DES_TEXTS' , 'TEX_ID = CDS_TEX_ID')
->where('MOD_MFA_ID=:MOD_MFA_ID AND CDS_LNG_ID =:lang AND MOD_PCON_START > :year AND publish=1 AND 1=:status', array(':MOD_MFA_ID'=>$mod->MFA_ID , ':year' => $year ,':lang' => $lang,':status'=>$mod->status ))
->group('MOD_ID')
->order('MOD_CDS_TEXT')
->queryAll();

phpshko
Сообщения: 259
Зарегистрирован: 2015.03.21, 02:49

Re: Undefined variable: data

Сообщение phpshko » 2015.08.16, 21:57

igor3310 писал(а):ну тут запрос непростой , как понять какой именно
$user = Yii::app()->db2->createCommand()
->select('publish,CONCAT("'.$brand.'") brand,TEX_ID, MOD_ID, TEX_TEXT AS MOD_CDS_TEXT, LEFT(u.MOD_PCON_START , 4) AS START, LEFT(u.MOD_PCON_END , 4) AS END')
->from('MODELS u')
->join('COUNTRY_DESIGNATIONS p' , 'p.CDS_ID = u.MOD_CDS_ID')
->join('DES_TEXTS' , 'TEX_ID = CDS_TEX_ID')
->where('MOD_MFA_ID=:MOD_MFA_ID AND CDS_LNG_ID =:lang AND MOD_PCON_START > :year AND publish=1 AND 1=:status', array(':MOD_MFA_ID'=>$mod->MFA_ID , ':year' => $year ,':lang' => $lang,':status'=>$mod->status ))
->group('MOD_ID')
->order('MOD_CDS_TEXT')
->queryAll();
Добавьте в селект id, или если называется по другому то так "another_id AS id"

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

$user = Yii::app()->db2->createCommand()
->select('id,publish,CONCAT("'.$brand.'") .....

igor3310
Сообщения: 75
Зарегистрирован: 2015.07.24, 10:33

Re: Undefined variable: data

Сообщение igor3310 » 2015.08.16, 22:29

Спасибо так помогло!
А тут еще неподскажите , вызываю обработку статик функцией котороя в моделе находится, вызов в во вьюхе так:
LINKGRAART::ReplaceArt::Text($arPart);
Функция в моделе так:

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

public static function Text($arPart){
$arPart["PART_NAME"] = trim($arPart["PART_NAME"]);
if($arPart["PART_NAME"]==''){$arPart["PART_NAME"] = trim($arPart["ART_COMPLETE_DES_TEXT"]);}
if($arPart["PART_NAME"]==''){$arPart["PART_NAME"] = trim($arPart["STR_DES_TEXT"]);}
unset($arPart['ART_COMPLETE_DES_TEXT']); unset($arPart['STR_DES_TEXT']);
//if($arPart['ART_COMPLETE_DES_TEXT']==$arPart['STR_DES_TEXT']){$arPart['STR_DES_TEXT']='';}
if($arPart['SUP_BRAND']!=''){$arPart['SUP_BRAND']= trim(mb_strtoupper($arPart['SUP_BRAND'])); $arPart['SUP_BRAND_F']=LINKGRAART::BrendDec($arPart['SUP_BRAND']);}

if($arPart['ART_ARTICLE_NR']!=''){$ToNumber=$arPart['ART_ARTICLE_NR'];}elseif($arPart['ART_NUM']!=''){$ToNumber=$arPart['ART_NUM'];}
$arPart['NUMBER'] = trim(mb_strtoupper(LINKGRAART::ReplaceArt($ToNumber,'FULL')));
$arPart['NUMBER_SHORT'] = trim(mb_strtoupper(LINKGRAART::ReplaceArt($ToNumber,'SHORT')));
return $arPart;
} 
и ощибка такая Undefined variable: data PART_NAME

phpshko
Сообщения: 259
Зарегистрирован: 2015.03.21, 02:49

Re: Undefined variable: data

Сообщение phpshko » 2015.08.16, 22:37

Нужно продебажить, и посмотреть что получает метод. Где-то идет обращение к несуществующей переменной или ключу массива

Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Undefined variable: data

Сообщение Onotole » 2015.08.17, 06:48

LINKGRAART::ReplaceArt::Text - Это как так?

igor3310
Сообщения: 75
Зарегистрирован: 2015.07.24, 10:33

Re: Undefined variable: data

Сообщение igor3310 » 2015.08.17, 10:24

Onotole писал(а):LINKGRAART::ReplaceArt::Text - Это как так?
Пардон так - LINKGRAART::Text

а чем продебажить можно?

Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Undefined variable: data

Сообщение Onotole » 2015.08.17, 10:34

igor3310 писал(а):
Onotole писал(а):LINKGRAART::ReplaceArt::Text - Это как так?
Пардон так - LINKGRAART::Text

а чем продебажить можно?
var_dump($arPart);

igor3310
Сообщения: 75
Зарегистрирован: 2015.07.24, 10:33

Re: Undefined variable: data

Сообщение igor3310 » 2015.08.17, 18:13

А как можно боевой сконфигурировать чтоб он работал как мой OpenServer (локальный) - там все нормально - этих новых ощибок нет но при этом стандартный YII ощибки показывает?

П.С, Сейчас давлю их на боевом error_reporting(0); но YII ощибки тоже непоказывает

Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Undefined variable: data

Сообщение Onotole » 2015.08.17, 19:02

Ошибки нужно исправлять, а не скрывать

igor3310
Сообщения: 75
Зарегистрирован: 2015.07.24, 10:33

Re: Undefined variable: data

Сообщение igor3310 » 2015.08.17, 19:12

Так они мелкие и их нереально теперь исправить (их немеренно)

Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Undefined variable: data

Сообщение Onotole » 2015.08.17, 19:39

Тогда error_reporting(0);
и отключать дебаггер

Ответить