2010-01-29 1 views
1

Я только начал использовать Kohana пару дней назад, и у меня есть несколько вопросов, которые я не могу найти, чтобы найти ответ в любом месте.Только что начал использовать Kohana ... Есть несколько вопросов

Использование ORM, как вы можете упаковать информацию, прежде чем отправлять ее? Если у меня есть пользовательская модель, и у каждого пользователя есть имя пользователя, адрес электронной почты, дата рождения и т. Д., Как я могу упаковать информацию (например, добавить возраст пользователей как свойство), прежде чем отправить его на контроллер?

Использование ORM снова, я вижу, что если вы выберете пользователя, вы также можете выбрать все, что связано с этим пользователем (например, статьи, комментарии и т. Д.). Как вы можете заказать эту информацию перед отправкой ее на контроллер?

т.е.

<?php 
$user = ORM::factory('user', $id); 
$user->articles; // holds all articles belonging to a user. 

// how can you order those articles dynamically? 

В представлении, как вы можете получить информацию о пользователе, вошедшем в? Вы используете Auth (Auth::instance()->get_user()), или есть ли другой способ?

Кроме того, если вы знаете какие-либо другие советы/советы/вопросы о Кохане, пожалуйста, оставьте строку или две, вы можете ответить на мой будущий вопрос.

Спасибо.

Редактировать: Другой вопрос. Используя ORM, я хочу иметь возможность загружать все опубликованные статьи, в которых пользователь сделал комментарий.

комментарии таблица

comment_id 
user_id 
article_id 
etc.... 

Использование ORM, я могу получить доступ все статьи, размещенные пользователем, но как бы я иметь доступ все статьи, в которых пользователь комментировали?

Благодаря

+0

Я не использую ORM, но любые другие вопросы, на которые я был бы рад ответить. – alex

+0

Если я могу спросить, почему вы не используете ORM? На ваш взгляд, что-то лучше? – BDuelz

+0

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

ответ

1

Если вы используете Kohana v3, вы можете заказать записи следующим образом:

$articles = ORM::factory('user', $id)->articles 
            ->order_by('date', 'DESC') 
            ->find_all(); 

Если вы используете Kohana v2, то же самое может быть достигнуто с помощью:

$articles = ORM::factory('user', $id)->orderby('date', 'DESC') 
            ->articles; 

И вы были прав насчет доступа к записи пользователя через Auth::instance()->get_user() (если вы используете драйвер ORM Auth)