Страница 1 из 2
Undefined variable: data
Добавлено: 2015.08.16, 18:22
igor3310
Здравствуйте!
Подскажите пож - как решить ощибку при вызове Грида
Undefined variable: data
Это когда вызываю Грид с параметром,типа
Код: Выделить всё
'ENG_CODE' => array(
'header' => 'Тип',
'type' => 'raw',
[b] 'value' => $data["ENG_CODE"],[/b]
'name' => 'ENG_CODE',
),
Но и это не все - когдаа его убираю (комментирую ) - то следом еще ощибка лезет
Undefined variable: id - с data тут хоть понятно , а вот еще id откуда берется?
Re: Undefined variable: data
Добавлено: 2015.08.16, 18:45
phpshko
UPD. Не заметил что первая версия. Нужно обернуть в кавычки
Re: Undefined variable: data
Добавлено: 2015.08.16, 19:09
igor3310
Спасибки помогло , но потом в гриде (и не только в этом) выскакивает Undefined variable: id - но id нету у меня
Re: Undefined variable: data
Добавлено: 2015.08.16, 19:16
phpshko
А на какую строку и в каком файле ругается? Может во вьюхе где-то закралась эта переменная?
Re: Undefined variable: data
Добавлено: 2015.08.16, 20:02
igor3310
ВО вьюхе нет (делал для теста пустую) , № строки непоказывает - такая ощибка и в других гридах в других модулях даже
Re: Undefined variable: data
Добавлено: 2015.08.16, 20:58
Onotole
А как dataProvider формируете?
Re: Undefined variable: data
Добавлено: 2015.08.16, 21:05
igor3310
запрос так Yii::app()->db->createCommand()
а потом чекрез new CArrayDataProvider
Re: Undefined variable: data
Добавлено: 2015.08.16, 21:08
phpshko
igor3310 писал(а):запрос так Yii::app()->db->createCommand()
а потом чекрез new CArrayDataProvider
Вроде был такой косяк когда-то, потому что в выборке не было id. Точно не помню. В вашей выборке он есть?
Re: Undefined variable: data
Добавлено: 2015.08.16, 21:11
Onotole
В отправляемых в dataProvider данных должно быть id, что в db что в масиве
Re: Undefined variable: data
Добавлено: 2015.08.16, 21:45
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();
Re: Undefined variable: data
Добавлено: 2015.08.16, 21:57
phpshko
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.'") .....
Re: Undefined variable: data
Добавлено: 2015.08.16, 22:29
igor3310
Спасибо так помогло!
А тут еще неподскажите , вызываю обработку статик функцией котороя в моделе находится, вызов в во вьюхе так:
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
Re: Undefined variable: data
Добавлено: 2015.08.16, 22:37
phpshko
Нужно продебажить, и посмотреть что получает метод. Где-то идет обращение к несуществующей переменной или ключу массива
Re: Undefined variable: data
Добавлено: 2015.08.17, 06:48
Onotole
LINKGRAART::ReplaceArt::Text - Это как так?
Re: Undefined variable: data
Добавлено: 2015.08.17, 10:24
igor3310
Onotole писал(а):LINKGRAART::ReplaceArt::Text - Это как так?
Пардон так - LINKGRAART::Text
а чем продебажить можно?
Re: Undefined variable: data
Добавлено: 2015.08.17, 10:34
Onotole
igor3310 писал(а):Onotole писал(а):LINKGRAART::ReplaceArt::Text - Это как так?
Пардон так - LINKGRAART::Text
а чем продебажить можно?
var_dump($arPart);
Re: Undefined variable: data
Добавлено: 2015.08.17, 18:13
igor3310
А как можно боевой сконфигурировать чтоб он работал как мой OpenServer (локальный) - там все нормально - этих новых ощибок нет но при этом стандартный YII ощибки показывает?
П.С, Сейчас давлю их на боевом error_reporting(0); но YII ощибки тоже непоказывает
Re: Undefined variable: data
Добавлено: 2015.08.17, 19:02
Onotole
Ошибки нужно исправлять, а не скрывать
Re: Undefined variable: data
Добавлено: 2015.08.17, 19:12
igor3310
Так они мелкие и их нереально теперь исправить (их немеренно)
Re: Undefined variable: data
Добавлено: 2015.08.17, 19:39
Onotole
Тогда error_reporting(0);
и отключать дебаггер