J'ai un modèle User
avec des attributs comme identifiant, identifiant, âge, etc. Une autre table est user_data
avec une colonne residence
, par exemple.Comment puis-je récupérer des modèles Laravel en faisant correspondre une valeur à une relation?
Comment puis-je obtenir tous les utilisateurs avec une résidence spécifique? J'ai ceci:
modèle User
:
public function user_data()
{
return $this->hasMany('App\Models\UserData');
}
public function FilterUser($request)
{
if ($request->has('city'))
{
$users = User::with('user_data')->where('residence', 'Warsaw')->get();
}
dd($users);
}
modèle UserData
:
public function user()
{
return $this->belongsTo('App\User', 'user_id');
}
Maintenant, j'obtiens cette erreur:
Column not found: 1054 Unknown column 'residence' in 'where clause' (SQL: select * from `users` where `residence` = warsaw and `users`.`deleted_at` is null)
Et une autre question:
Si User
est mon modèle principal, devrais-je le connecter avec des relations comme ci-dessus? hasMany()
ou belongsTo()
?
Faire une sql sQuery pour l'obtenir: https://laravel.com/docs/5.5/queries – Peter
@peter que vous voyez ci-dessus, je l'ai essayé beaucoup de fois, mais ça ne marche pas ork – browinski