2017-10-13 5 views
0

Je suis confronté à un problème d'ordre laravel par fonction. Je veux aller chercher les enregistrements en fonction du pays et le résultat devrait commencer par le pays de l'utilisateur actuel.Problème face à laravel orderby

Par exemple. Si l'utilisateur auth appartient à l'Inde alors la liste devrait commencer à partir de l'Inde.

Mon code actuel est

$users = User::where('status', '=',1)->with(['profile'])->latest()->orderBy('last_login', 'desc')->paginate(12); 

Merci

+1

Montrez-nous le code. –

+0

@NitishKumar Question mise à jour –

+0

Qu'est-ce que 'last_login'? Est-ce l'attribut de la table des utilisateurs? –

Répondre

0

Ok, tout ce que je l'ai compris, vous cherchez à trier les données à travers les attributs de la table countryprofiles, qui est en relation avec User modèle , pour cela, vous devez utiliser join Je ne suis pas sûr de votre structure, je vous donne juste un exemple. Supposons que vous voulez trier profiles =>id vous pouvez écrire quelque chose:

Edit: Conformément à l'exigence donnée dans les commentaires que je recommande d'avoir quelque chose comme ceci: tout d'abord permet d'avoir utilisateur authentifié par

$AuthUser = Auth::user(); 

permet ensuite appeler la relation

$users = User::->leftJoinRelations('profile') 
    ->orderByRaw("FIELD(country , ". $AuthUser->profile->country ."), ASC") 
    ->paginate(); 

donc de cette façon vous pouvez avoir utilisateur triés par pays utilisateur authentifié. J'espère que cela t'aides.

+0

plzz vérifier DB Structure https://screenshots.firefox.com/VaxIADeu5hWwZCyI/localhost –

+0

Je ne veux pas trier par pays. Je veux montrer cet enregistrement en premier qui sont les mêmes que l'utilisateur authentique. Par exemple, si Auth :: user appartient à india alors tous les enregistrements de table doivent commencer à partir de l'Inde –

+0

Votre capture d'écran n'affiche pas la structure complète pour la table de profils. Veuillez également fournir des détails complets. Nous ne pouvons pas vous aider avec des détails incomplets. –