我正在构建一个小型应用程序,以便在 Laravel 7 中试验多对多关系。该应用程序与项目和用户(多对多)有关。
经过身份验证的用户可以创建新项目。每个项目都有自己的页面。在项目页面上,会呈现一个列表,其中包含作为该项目成员的每个用户的名称,每个名称旁边都有一个按钮,用于从该项目中删除特定用户/成员。
现在,我陷入了“删除用户”功能。我不明白如何获取列表中每个用户的 id,并将其传递给将“分离”多对多关系的函数。
我的文件如下:
迁移:
用户表:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->boolean('is_admin')->nullable();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
项目表:
public function up()
{
Schema::create('projects', function (Blueprint $table) {
//primary key
$table->bigIncrements('id');
//foreign keys columns
$table->unsignedBigInteger('user_id');
//normal table columns
$table->string('title')->unique();
//created_at and updated_at columns
$table->timestamps();
//add constraints
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade');
});
}
项目_用户_表(数据透视表):
public function up()
{
Schema::create('project_user', function (Blueprint $table) {
$table->foreignId('project_id')->constrained();
$table->foreignId('user_id')->constrained();
$table->timestamps();
});
}
型号:
用户.php:
public function projects()
{
return $this->belongsToMany('App\Project');
}
项目.php:
protected $fillable = ['name'];
public function members()
{
return $this->belongsToMany('App\User');
}
public function creator()
{
return $this->belongsTo('App\User', 'user_id', 'id');
}
你们能帮忙吗?先感谢您
海绵宝宝撒