Laravel 4 hasMany avec la clause where

Ne sais pas si c'est la bonne façon d'ajouter une requête supplémentaire pour le hasMany argument, mais en vain. Est-ce possible?

public function menuItems($parent=false){
    if($parent){
        $menuItems = $this->hasMany('MenuItem')->where('parent',$parent);
    }else{
        $menuItems = $this->hasMany('MenuItem');
    }
    return $menuItems;
}

Lorsqu'il est appelé à l'aide

$menu_items = $menu->menuItems(0);

Cela semble juste pour retourner un tableau vide lorsqu'il est passé d'un parent. Même si les données avec MenuItem->parent = 0 existe

Ai-je besoin d'une certaine manière à distinguer ce que je demande pour mes articles liés "parent" et non pas des grands modèles "parent"

  • Vous pouvez poster votre disposition de table? Je ne suis pas en mesure de dire ce qui se passe ici.. Votre table enfant ne devrait avoir qu'une seule référence à la ligne parent.. Votre ->hasMany() d'un ENFANT à un PARENT, est-ce que la référence. Vous devrez peut-être fournir le deuxième argument de la définition de la relation parent-enfant de la clé.
InformationsquelleAutor kilrizzy | 2013-06-27