Я думаю, что ваша проблема здесь в том, что вы использовали нестатический метод для извлечения объекта с помощью запроса, а ссылка "this" дает вам экземпляр sfAction в:
public function executeTest(sfWebRequest $request)
{
$this->newfunction($id);
}
Iпредложил бы изменить объявление новой функции в классе модели на что-то вроде этого (создайте эту функцию в /lib/model/Doctrine/MessagesTable.class.php):
public static newfunction($id)
{
$query = Doctrine_Query::create()
->from('Messages')
->where('id = ?', $id);
return $query->fetchArray();
}
Теперь ваше действие должно выглядеть примерно таккак это:
public function executeTest(sfWebRequest $request)
{
[..]//i'm assuming that id is set somewhere before this and is valid
MessagesTable::newfunction($id);
}