Bonjour,

Je fais face à un problème que je ne comprends pas avec eloquent.

Ce que je fais

Via une petite API basée sur Lumen, je cherche à récupérer les contacts d'une société.

$contacts = Company::find($id)->contacts;

Jusque là tout va bien ça fonctionne nickel ! J'ai mes contacts je suis content. Sauf qu'après coup, j'ai pas l'id de la société mais son numéro de SIRET.

$company = Company::where('siret', $siret)->with('contacts')->first(); // solution 1
$company =  Company::where('siret', $siret)->first(); // solution 2

Et la ma relation est vide, il me trouve 0 contact :'(
var_dump($company->contacts) me retourne

class Illuminate\Database\Eloquent\Collection#94 (1) {
  protected $items =>
  array(0) {
  }
}

Quelque soit la solution utilisée, il n'y a qu'en passant par le ::find($id) que je retrouve mes contacts. Quelqu'un aurait une idée de la bonne syntaxe ? Je ne pense pas que le problème vienne de la definition des relations dans les models car autrement, ça ne fonctionnerait pas non plus quand je recherche avec l'id.

Merci pour votre aide !

Aucune réponse