-1
votes

Sort Collection Laravel par la relation Hasmany

J'ai lu plusieurs questions sur ce sujet mais je n'ai pas travaillé pour moi. lien

J'ai deux produits modèle et Prix ​​entre produit et prix existent de la relation Hasmany. Dans le modèle de produit: xxx

Je veux trier la collection de produits par prix. Dans mon modèle de prix, j'ai une propriété de prix. Ceci est mon code pour la collection de produits de tri par rapport à la relation de prix et à la propriété des prix. xxx

aidez-moi s'il vous plaît.Merci.


3 commentaires

Quel est le problème ou l'erreur que vous êtes confronté


il n'a pas trié la collection.Merci


Pouvez-vous essayer de renverser votre commande et essayer et c'est desc et dites-moi si ASC et desc ID donner la même collection de relations


3 Réponses :


0
votes

Pouvez-vous essayer ce qui suit? xxx

ou sur la suivante qui exploite la collection xxx


3 commentaires

Les deux sont identiques, vous sélectionnez l'ensemble de l'enregistrement et de chargement des relations et trouvez l'ID. Vous venez de modifier la commande ou l'exécution de la requête


Donner une erreur. php errorxception (e_warning) mb_strpos () s'attend à ce que le paramètre 1 soit une chaîne, objet donné


sur le premier échantillon.



0
votes

dans le modèle de produit:

1. you made your migrations properly.
2. you made the relations properly (check that data comes.).
3. you called them properly.


9 commentaires

"Bonne façon" - bla. Tout ce qui fonctionne. Vous pouvez également mettre une portée mondiale sur le prix pour le même effet.


@Mortezakazemitascoo, j'ai peur que vous ne smisez peut-être pas votre relation avec la table de prix. À coup sûr, regardez que la table des prix a la colonne 'Price'.


En fait, cela devrait également fonctionner. Si cela ne pose pas un problème avec ses tables ou la relation


Le champ de prix existe sur la table.Merci


La migration des tables est trop longue pour montrer comme commentaire ici.


On pense que tu peux me dire? Prix ​​et produit sur l'application Dossier? Je veux dire, assurez-vous que cela renvoie certaines données.


"Ne fonctionne pas" nous ne nous dit rien. Si quelqu'un prend le temps de vous aider avec votre problème, vous devez donc leur donner plus d'informations que "ne fonctionne pas".


C'est le dernier, je peux faire. (Peut être. Vérifiez les ANS et essayez.)


Essayez de préciser ce que vous avez, ce que vous voulez. Concentrez-vous sur le problème principal. Si possible, donnez un exemple, ce que vous voulez être émis, et ce que vous avez obtenu. etc, etc. Il aide quelqu'un à comprendre votre problème.



-1
votes

Enfin j'ai trouvé la solution.

Maintenant, je peux trier la collection de produits en fonction de la collecte de prix. P>

    $products=Product::find($id);
    $products=$products->load("price");
    $products=$products->sortBy(function($product){
        return $product->price;
    });

    dd($products->toArray());


0 commentaires