J'ai la structure de la table users
suivante:relation Laravel avec un à un
id
email
....
status // foreign key from tbl_status
Maintenant, dans mon tbl_status
:
id
name
description
Maintenant, je voudrais créer une relation telle que si je avoir un statut de 1 dans le tableau users
Je voudrais obtenir son nom. J'ai essayé:
Dans mon modèle User
:
class User extends Model
{
protected $fillable = [
'name', 'email', 'password', 'status'
];
public function userstatus()
{
return $this->hasOne('App\Status', 'id', 'status');
}
}
Dans le modèle Status
:
class Status extends Model
{
protected $fillable = [
'name', 'description'
];
}
Lors de l'extraction des enregistrements via ...
return User::with("userstatus")->paginate(10);
... il renvoie toujours le statut null
même si chaque utilisateur a un défaut l'état d'erreur 1 et la table d'état a un ID de 1 avec une valeur.
Ajouter une colonne user_id à table tbl_status avec l'étranger contrainte de clé référençant les utilisateurs id colonne – Mena
Merci ive mis à jour et maintenant cela fonctionne. Est-il possible d'obtenir seulement le nom seul puisque ot retourne un tableau entier de données d'état qui obtient seulement le nom –
la raison de la table d'état est d'avoir des données cohérentes. Par exemple, lors de la création d'un utilisateur ayant une clé étrangère de 0 et affichant simplement le nom dans le frontend signifie que celui qui crée un utilisateur enregistre un ID 0 signifiant actif et plus tard quand le client peut vouloir changer le nom actif en utilisateur actif, il mettre à jour la table d'état. –