Comment mettre à jour un tableau croisé dynamique à l'aide de Éloquente dans laravel 5

Je suis nouveau sur laravel. Je suis en train de travailler sur un laravel 5 app et je suis coincé ici. J'ai 2 modèles en tant que tel:

class Message extends Eloquent{

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

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

class User extends Eloquent {

    public function messages()
    {
        return $this->hasMany('App\Message', 'from');
    }

    public function receive_messages() {
        return $this->belongsToMany('App\Message')->withPivot('status');
    }
}

Il existe plusieurs-à-plusieurs relation entre le Message et l'Utilisateur de me donner un tableau croisé dynamique en tant que tel:

Table Name: message_user
Colums:
message_id
user_id
status

J'ai une requête SQL en tant que tel:

update message_user
set status = 1
where user_id = 4 and message_id in (select id from messages where message_id = 123)

Comment puis-je traduire cette requête à la laravel équivalent?

  • Mec qu'entendez-vous par from?
  • Clé étrangère @Mohamed
  • mec le deuxième argument est la conjonction nom de la table, dans votre exemple, il devrait être "message_user' , le total de la juste relation de messages dans Utilisateur modèle : return $this->hasMany('App\Message\,'message_user','user_id','message_id');
  • Pas de mec. Il vous manque le point. Découvrez la laravel de la documentation. Cela peut aider: laravel.com/docs/5.1/eloquent-relationships#many-to-many
  • les docs a quelque chose comme ceci: return $this->hasMany('App\de Commentaires', 'foreign_key', 'local_key');
  • copain je viens de vérifier, j'en suis sûr, dans le même lien que vous avez de m'envoyer de recherche de cette s'il vous plaît: return $this->belongsToMany('App\Role', 'user_roles', 'user_id', 'role_id');
  • from est sur return $this->belongsTo('App\User', 'from'); sur mon post. Regarder le post de nouveau. C'est sur la relation 1 à plusieurs.
  • Ok j'ai trouvé, désolé, maintenant, pourriez-vous expliquer comment vous souhaitez que l'un de nombreux et des de nombreux de nombreux les relations entre les deux tables? users , messages
  • Merci pour l'entrée mec. Un utilisateur peut créer 1 ou plusieurs messages. Un message peut être reçu par 1 ou plusieurs utilisateurs. Un utilisateur peut recevoir 0 messages ou plus.

InformationsquelleAutor Fokwa Best | 2015-11-05