我对编程很陌生,并且正在努力理解我应该如何指定雄辩的关系。
我创建了一个名为"环聊"和"加入"允许用户加入事件的按钮,从而通过数据透视表将他们的user_id附加到hangout_id。
现在我对我应该如何/可以如此感到困惑:
用户可以创建多个环聊,即hasMany,但是当他们点击"加入"时,他们也属于ToMany环聊。
虽然环聊只能属于一个用户,但可以有很多与会者/用户。
有人能指出我正确的方向吗?这就是我到目前为止......
user.php的
public function hangouts()
{
return $this->hasMany('App\Hangout');
}
public function attending()
{
return $this->belongsToMany('App\Hangout');
}
Hangout.php
public function user()
{
return $this->belongsTo('App\User');
}
public function attendees()
{
return $this->hasMany('App\User');
}
用户表
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
$table->boolean('admin');
});
}
环聊表
public function up()
{
Schema::create('hangouts', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->string('title');
$table->string('description');
$table->integer('price')->unsigned();
$table->timestamp('published_at');
$table->timestamps();
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade');
});
Schema::create('hangout_user', function(Blueprint $table)
{
$table->integer('hangout_id')->unsigned()->index();
$table->foreign('hangout_id')->references('id')->on('hangouts')->onDelete('cascade');
$table->integer('user_id')->unsigned()->index();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->timestamps();
});
}
提前致谢