Laravel 5 Laravel-数据透视表/关系
我对编程非常陌生,我很难理解应该如何指定有说服力的关系 我创建了一个网站,其中有一个名为“hangout”的事件和一个“join”按钮,允许用户加入该事件,从而通过数据透视表将其用户id附加到hangout id 现在我很困惑我应该/可以:Laravel 5 Laravel-数据透视表/关系,laravel-5,eloquent,pivot-table,relationships,Laravel 5,Eloquent,Pivot Table,Relationships,我对编程非常陌生,我很难理解应该如何指定有说服力的关系 我创建了一个网站,其中有一个名为“hangout”的事件和一个“join”按钮,允许用户加入该事件,从而通过数据透视表将其用户id附加到hangout id 现在我很困惑我应该/可以: 指定hangout和用户之间的关系 对于单个活动场所,显示参与的用户列表 对于单个用户,显示已创建的悬挂点列表;及 对于单个用户,是否显示他们正在参加的活动的列表 用户可以创建许多聊天室,即有许多聊天室,但当他们单击“加入”时,他们也属于许多聊天室 虽然
- 指定hangout和用户之间的关系李>
- 对于单个活动场所,显示参与的用户列表李>
- 对于单个用户,显示已创建的悬挂点列表;及
- 对于单个用户,是否显示他们正在参加的活动的列表
public function hangouts()
{
return $this->hasMany('App\Hangout');
}
public function attending()
{
return $this->belongsToMany('App\Hangout');
}
public function user()
{
return $this->belongsTo('App\User');
}
public function attendees()
{
return $this->hasMany('App\User');
}
Hangout.php
public function hangouts()
{
return $this->hasMany('App\Hangout');
}
public function attending()
{
return $this->belongsToMany('App\Hangout');
}
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();
});
}
提前感谢您能为用户和休息室显示您的表格结构吗?按要求添加。谢谢你的帮助!您如何确认用户正在参加聚会?您是否维护了它的状态,或者如果我们在
hangout\u user
表中记录了用户id和hangout id,则表示用户正在参加相应的挂起。它只是hangout\u user中的一条记录