Laravel 5 Laravel-数据透视表/关系

Laravel 5 Laravel-数据透视表/关系,laravel-5,eloquent,pivot-table,relationships,Laravel 5,Eloquent,Pivot Table,Relationships,我对编程非常陌生,我很难理解应该如何指定有说服力的关系 我创建了一个网站,其中有一个名为“hangout”的事件和一个“join”按钮,允许用户加入该事件,从而通过数据透视表将其用户id附加到hangout id 现在我很困惑我应该/可以: 指定hangout和用户之间的关系 对于单个活动场所,显示参与的用户列表 对于单个用户,显示已创建的悬挂点列表;及 对于单个用户,是否显示他们正在参加的活动的列表 用户可以创建许多聊天室,即有许多聊天室,但当他们单击“加入”时,他们也属于许多聊天室 虽然

我对编程非常陌生,我很难理解应该如何指定有说服力的关系

我创建了一个网站,其中有一个名为“hangout”的事件和一个“join”按钮,允许用户加入该事件,从而通过数据透视表将其用户id附加到hangout id

现在我很困惑我应该/可以:

  • 指定hangout和用户之间的关系
  • 对于单个活动场所,显示参与的用户列表
  • 对于单个用户,显示已创建的悬挂点列表;及
  • 对于单个用户,是否显示他们正在参加的活动的列表
用户可以创建许多聊天室,即有许多聊天室,但当他们单击“加入”时,他们也属于许多聊天室

虽然聚会只能属于一个用户,但可以有多个与会者/用户

有人能给我指出正确的方向吗?这就是我目前所拥有的

User.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');
}
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中的一条记录