Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 06 июл 2025, 01:58

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Ошибка Undefined variable:
СообщениеДобавлено: 23 май 2012, 23:15 
Не в сети
Бывалый

Зарегистрирован: 21 май 2012, 20:54
Сообщения: 81
В чем здесь может быть проблема вроде рабочий код

public function action_meta()
{

$id = $this->request->param('id');
$content = View::factory('/pages/cat')
->bind('meta', $meta);
$meta = Model::factory('categ')->get_meta();
$this->template->content = $content;

}

а в виде видает ошибку foreach($meta as $metas):

Undefined variable: meta

_________________
Меньше кода -> меньше ошибок


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка Undefined variable:
СообщениеДобавлено: 23 май 2012, 23:25 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Что модель возвращает ?

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка Undefined variable:
СообщениеДобавлено: 23 май 2012, 23:31 
Не в сети
Бывалый

Зарегистрирован: 21 май 2012, 20:54
Сообщения: 81
protected $_tableArticles = 'data';
protected $_tableArticles1 = 'categories';

public function get_cat($id = '')
{
$sql = "SELECT id,title,img FROM ". $this->_tableArticles ." WHERE cat = :id ORDER BY id DESC LIMIT 14";
$query = DB::query(Database::SELECT, $sql,FALSE)
->param(':id', (int)$id)
->execute();

$result = $query->as_array();
return $result;}

public function get_meta($id = '')
{
$sql = "SELECT * FROM ". $this->_tableArticles1 ." WHERE id = :id";

$query = DB::query(Database::SELECT, $sql)
->param(':id', (int)$id)
->execute();

$result = $query->as_array();


return $result;

}

это модель а это контролер файлы целиком


public function action_cat()
{

$id = $this->request->param('id');
$content = View::factory('/pages/cat')
->bind('cat', $cat);
$cat = Model::factory('categ')->get_cat($id);
$this->template->content = $content;

}

public function action_meta()
{

$id = $this->request->param('id');
$content = View::factory('/pages/cat')
->bind('meta', $meta);
$meta = Model::factory('categ')->get_meta($id);
$this->template->content = $content;

}

}

_________________
Меньше кода -> меньше ошибок


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка Undefined variable:
СообщениеДобавлено: 23 май 2012, 23:41 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
А почему вы id не передаете в метод модели ?
Код:
public function get_meta($id = '')

Получается у вас запрос срабатывает
Код:
SELECT * FROM categories WHERE id = '';

И думаю, что ничего не находит. Если вы хотели сделать универсальный метод, который будет находить и все категории и какую-то одну, то тут нужно ставить условие проверки на $id и менять запрос в зависимости от нее.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка Undefined variable:
СообщениеДобавлено: 23 май 2012, 23:48 
Не в сети
Бывалый

Зарегистрирован: 21 май 2012, 20:54
Сообщения: 81
А как надо правильно прописать проверку id = $_GET[id]
вот этот момент мне очень не понятен

_________________
Меньше кода -> меньше ошибок


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка Undefined variable:
СообщениеДобавлено: 24 май 2012, 10:40 
Не в сети
Новичок

Зарегистрирован: 13 май 2012, 13:16
Сообщения: 29
Код:
$id = Arr::get($_GET, 'id', '');


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка Undefined variable:
СообщениеДобавлено: 24 май 2012, 13:47 
Не в сети
Бывалый

Зарегистрирован: 21 май 2012, 20:54
Сообщения: 81
Спасибо за разяснение с $id но у меня все равно не получается сделать

Даже когда в модели убрать проверки а просто вытащить с базы все записи

public function get_meta()
{
$sql = "SELECT * FROM ". $this->_tableArticles1;
return DB::query(Database::SELECT, $sql)
->execute();
}

На выходе все равно получается foreach($meta as $metas): Undefined variable: meta
{PHP internal call} » Kohana_Controller_Template->after()

Это я хочу мета данные передать получается в одной модели делаю выборку с двух таблиц.Потом в контролере функции обработки одинаковые но...Может это как-то по другому реализуется

_________________
Меньше кода -> меньше ошибок


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка Undefined variable:
СообщениеДобавлено: 24 май 2012, 14:26 
Не в сети
Бывалый

Зарегистрирован: 21 май 2012, 20:54
Сообщения: 81
Проблема в этом контролере вернее в function action_meta
из нее вообще ничего не выводится пробовал $this->template->title = 'hello';

class Controller_Categ extends Controller_Template {

public function action_cat()
{

$id = $this->request->param('id');
$content = View::factory('/pages/cat')
->bind('cat', $cat);
$cat = Model::factory('categ')->get_cat($id);
$this->template->title = 'hello';
$this->template->content = $content;

}

public function action_meta()
{

$id = $this->request->param('id');
$content = View::factory('/pages/cat')
->bind('meta', $meta);
$meta = Model::factory('categ')->get_meta($id);
$this->template->title = 'hello';

$this->template->content = $content;

}

}

_________________
Меньше кода -> меньше ошибок


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка Undefined variable:
СообщениеДобавлено: 24 май 2012, 16:47 
Не в сети
Новичок

Зарегистрирован: 13 май 2012, 13:16
Сообщения: 29
попробуйте так
Код:
public function action_meta()
{

//$id = $this->request->param('id');
$content = View::factory('/pages/cat');
//$meta = Model::factory('categ')->get_meta($id);
$this->template->title = 'hello';

$this->template->content = $content;

}

в виде соответственно echo $title;
в адресной строке /categ/meta
должны получить hello


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка Undefined variable:
СообщениеДобавлено: 24 май 2012, 17:38 
Не в сети
Бывалый

Зарегистрирован: 21 май 2012, 20:54
Сообщения: 81
Да вывелось hello.Это значит что ошибка в модели?

_________________
Меньше кода -> меньше ошибок


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group