2013-06-22 5 views
0

J'écris un système de conversation pour mon application en utilisant le framework Laravel. Je peux actuellement avoir une conversation dans l'application si j'ai codé en dur la conversation dans la base de données.Utiliser Eloquent pour créer une nouvelle conversation

Maintenant, je ne peux pas vraiment comprendre comment créer réellement un nouveau Conversation en Laravel. Lors de la création d'un nouveau Conversation, je dois ajouter une nouvelle entrée à la table conversations et les utilisateurs et conversation_id à conversation_user.

Comment est-ce que je peux faire ceci? Voici ce que j'ai actuellement.

J'ai 3 tables de base de données

conversations:

id |

conversation_user:

id | conversation_id | user_id

messages:

id | message | user_id | conversation_id | created_at

J'ai 2 modèles

Conversation

class Conversation extends Eloquent { 
    public $table = 'conversations'; 

    public $includes = array('User', 'Message'); 

    public function user() { 
     return $this->belongsToMany('User'); 
    } 

    public function message() { 
     return $this->hasMany('message'); 
    } 
} 

message

class Message extends Eloquent { 
    public $table = 'messages'; 

    public $includes = array('User', 'Conversation'); 

    protected $fillable = array('message', 'user_id', 'conversation_id'); 

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

    public function conversation() { 
     return $this->belongsTo('Conversation'); 
    } 
} 

Répondre

0

Cela a été

$conversation = Conversation::create(array()); 
$conversation->user()->attach(Sentry::getUser()->id); 
$conversation->user()->attach($id); 
$conversation->save(); 
Questions connexes