Besoin d'aide ?

problème de requête

Avatar de SAWADOGOSIDIKI
SAWADOGOSIDIKI

Bonjour J'ai rencontre un probleme avec ma requète. j'ai trois tables programs(id, nom..), users(id, nom..), chefs(user_id, program_id).

Models

class Program extends Model {

public function users()
{
    return $this->belongsToMany('App\Models\User');
}

//////////:User======

class User extends Model

{

public function programs()
{
    return $this->belongsToMany('App\Models\Program');
}

///////Chef
class Chef extends Model

{

protected $fillable = [
    "program_id","user_id"
];

public function program()
{
    return $this->belongsTo('App\Models\Gestions\Program');
}

    public function user()
{
    return $this->belongsTo('App\Models\User');
}

}

table programs

id nom etat
140 pro.. actif

table users

id nom
2 toto

table chefs

user_id program_id
2 140

Lors de l'enregistrement d'un programme, on selectionne les chefs qui sont enregistré dans la table chef. Je veux que lorsque ce chef s'il se connecte que j'affiche uniquement les programmes qui lui sont assignés. J'ai des difficultés pour ecrire la requete. Comment gérer ce probleme?. La table intermediaire(chefs) me fatigue bcp. Aidez à ecrire cette requete jai essayé un truc de genre mais rien ne marche. Je me suis perdu. Nb: on peux selectionner plusieur chefs lors de l'enrgistrement d'un programme.

$pros = Chef::all();

$programs = Program::all();

     $user = Auth::user()->id;
    foreach ($pros as $pro) {
        $data = Chef::where('program_id', $pro->program->id)->get();
                     
    }
    
            $users = Program::where('id',140)->whereHas('users',function($query){
        $query->where('nom','projet');
    })->get();

    $users = Auth::user()->name;
    dd($users);
Posté il y a 7 mois
Avatar de khalyomede
khalyomede

Bonjour,

Essaie quelque chose comme ça si ça marche pour toi ?

$chefs = Chef::with("user.programs")->get();

foreach ($chefs as $chef) {
  $programs = $chef->user->programs;

  foreach ($programs as $program) {
    // Ce programme $program appartient au chef $chef
  }
}
Posté il y a 6 mois
Avatar de SAWADOGOSIDIKI
SAWADOGOSIDIKI

Salut Merci pour l'aide lorsque je fais dd($chef->user->programs) il me renvoie null

Posté il y a 6 mois

Vous ne pouvez pas répondre à ce sujet.