2010-01-29 4 views
1

Je viens de commencer à utiliser Kohana il y a quelques jours, et j'ai quelques questions que je n'arrive pas à trouver une réponse à n'importe où. En utilisant ORM, comment pouvez-vous empaqueter des informations avant de l'envoyer? Si j'ai un modèle d'utilisateur, et chaque utilisateur a un nom d'utilisateur, email, date de naissance, etc ... comment puis-je emballer des informations (comme ajouter l'âge des utilisateurs comme une propriété) avant de l'envoyer au contrôleur? En utilisant de nouveau ORM, je vois que si vous sélectionnez un utilisateur, vous pouvez également sélectionner toutes les choses liées à cet utilisateur (par exemple: articles, commentaires, etc.). Comment pouvez-vous commander cette information avant de l'envoyer au contrôleur?J'ai juste commencé à utiliser Kohana ... J'ai quelques questions

-à-dire:

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

// how can you order those articles dynamically? 

Dans la vue, comment pouvez-vous obtenir des informations sur un utilisateur qui est connecté? Utilisez-vous Auth (Auth::instance()->get_user()), ou existe-t-il un autre moyen? En outre, si vous connaissez d'autres conseils/conseils sur Kohana, s'il vous plaît laissez tomber une ligne ou deux, vous pouvez répondre à une question future de la mienne.

Merci.

Modifier: Une autre question. En utilisant l'ORM, je veux pouvoir charger tous les articles postés, dans lesquels un utilisateur a fait un commentaire.

commentaires Table

comment_id 
user_id 
article_id 
etc.... 

En utilisant ORM, je peux accéder à tous les articles publiés par un utilisateur, mais comment pourrais-je être en mesure d'accéder à tous les articles dans lesquels l'utilisateur a commenté?

Merci

+0

Je n'utilise pas l'ORM, mais toutes les autres questions auxquelles je serais heureux de répondre. – alex

+0

Si je peux demander, pourquoi n'utilisez-vous pas l'ORM? Y a-t-il quelque chose de mieux à ton avis? – BDuelz

+0

En ce moment, je n'ai pas d'autres questions en main .. Si vous avez quelque chose que vous aimeriez partager que vous pensez que je devrais savoir, je l'apprécierais. – BDuelz

Répondre

1

Si vous utilisez Kohana v3, vous pouvez commander des documents comme ceci:

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

Si vous utilisez Kohana v2, peut être réalisé de la même chose en utilisant:

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

Et vous aviez raison d'accéder à l'enregistrement de l'utilisateur par Auth::instance()->get_user() (si vous utilisez le pilote ORM Auth)