2017-10-01 4 views
0

J'ai une application qui doit obtenir les détails d'utilisateurs par exemple) prénom de la base de données, cependant pour chaque utilisateur je veux rejoindre l'université qu'ils choisissent lors de l'inscription et vérifier si l'ID de cette université correspond à un autre ID externe . Quand vrai retourne 1 ou 0 quand faux. J'ai essayé de trouver une solution mais j'ai des erreurs.Comment puis-je obtenir les résultats des utilisateurs et retourner 1 ou 0 quand ils ont une université spécifique?

Ma Recherche jusqu'à présent:

 DB::table('users')->select('users.first_name', 'universities.name', 'universities.state') 
         ->where('users.id', '!=', Auth::user()->id) 
         ->join('universities', function ($join) { 
          $join->on('users.university_id', '=', 'universities.id') 
           ->select(DB::raw('count(universities.id) as state')) 
           ->where('universities.id', '=', '$theExternalID') 
           ->groupBy('users.university_id'); 
         }) 
         ->get(); 

La requête ci-dessus provoque encore des erreurs. S'il vous plaît aider!

+0

vous devez utiliser EXIST – soft87

+0

Merci pour votre réponse, pouvez-vous me donner un exemple dans ce cas avec mon genre de requête –

+0

YELLING n'aide pas. – tadman

Répondre

0

En supposant que vous avez une relation un-à-un entre un utilisateur et une université.

modèle utilisateur:

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class University extends Model 
{ 
    /** 
    * Get the University that is associated with the user. 
    */ 
    public function university() 
    { 
     return $this->belongsTo('App\University'); 
    } 
} 

modèle de l'Université:

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class University extends Model 
{ 
    /** 
    * Get the users for the university. 
    */ 
    public function users() 
    { 
     return $this->hasMany('App\User'); 
    } 
} 

Ensuite, vous pouvez interroger où un utilisateur est associé à une université qui correspond à l'ID externe:

User::university()->where('university_id', $theExternalID)->get();