beforeaction

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Закрыто
shrekki
Сообщения: 40
Зарегистрирован: 2011.12.24, 13:21
Откуда: питер

beforeaction

Сообщение shrekki »

Есть код

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

 protected function beforeAction($action) 
     { 
       $logg=new cmslog;
       $logg->date=date("Y-m-d H:i:s");
       $logg->action=$action;
       $logg->data="POST=[".var_dump($_POST)."] - GET=[".var_dump($_GET)."]";
       $logg->save();
     return true; 
     } 
есть ошибка по коду

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

mb_strlen() expects parameter 1 to be string, object given
ругается на $logg->save();

В общем нужно просто логировать в БД все действия. но выскакивает ошибка, кто сталкивался?

В нете не могу найти решение.
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: beforeaction

Сообщение lancecoder »

var_export($_REQUEST,true)
а вообще - не верным путем идете
shrekki
Сообщения: 40
Зарегистрирован: 2011.12.24, 13:21
Откуда: питер

Re: beforeaction

Сообщение shrekki »

lancecoder писал(а):var_export($_REQUEST,true)
а вообще - не верным путем идете
И что даст

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

var_export($_REQUEST,true);
На самом деле я должен выполнять любые действия при обращении к любому контроллеру.

Будь то проверка на вход пользователя, будь то логирование.

Я совет просил и не строчку, которую непонятно куда сунуть, именно сунуть.

Мне в лог нужно писать именно контроллер и действие, а не просто echo var_dump одной строкой.
tier2003
Сообщения: 34
Зарегистрирован: 2012.11.26, 19:34
Откуда: Киев

Re: beforeaction

Сообщение tier2003 »

А точно ли он на save() ругается?
Ведь этот метод просто сохраняет в БД аттрибуты записи.

Выложите модель.
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: beforeaction

Сообщение lancecoder »

ругается он скорее всего на валидацию аттрибута data, скорее всего length
Аватара пользователя
tsurka
Сообщения: 222
Зарегистрирован: 2012.05.07, 17:10
Откуда: Приднестровье
Контактная информация:

Re: beforeaction

Сообщение tsurka »

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

var_dump($logg->attributes); // мож в какойто атрибут попал обьект,
shrekki
Сообщения: 40
Зарегистрирован: 2011.12.24, 13:21
Откуда: питер

Re: beforeaction

Сообщение shrekki »

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

$model=new cmslog;
       $model->date=date("Y-m-d H:i:s");
       $model->action=$action->id;
       $model->user_id=$this->user->get_id;
       $model->controller=$action->controller->id;
       $model->data ="POST=[".serialize($_POST)."]- GET=[".serialize($_GET)."]"; 
       $model->save(); 
Заменил все на $model и все заработало.
Трабл как ни странно был в поле user_id - которое было обязательно для заполнения. И вывод ошибок это показал, странно чтосама ошибка не из той оперы выползала, она то и ввела в заблюждение.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: beforeaction

Сообщение slavcodev »

Ошибка ведь всю правду рассказала :) Я думаю из этих строчек будет понятно ;)

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

$logg->action=$action; 

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

$model->action=$action->id; 
Жду Yii 3!
Закрыто