Я новичок в Laravel и пытаюсь создать приложение для наших клиентов, чтобы подтвердить право собственности на их продукты. Я создал следующие таблицы и модели:
таблица пользователей
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
таблица продуктов
Schema::create('products', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->integer('etc');
$table->timestamps();
});
таблица user_product
Schema::create('user_product', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id')->index();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->unsignedBigInteger('product_id')->index();
$table->foreign('product_id')->references('id')->on('products')->onDelete('cascade');
$table->timestamps();
});
модель пользователя
public function products()
{
return $this->belongsToMany('App\Product', 'user_product')->withTimestamps();
}
модель продукта
public function users()
{
return $this->belongsToMany('App\User');
}
Итак, вот где я застрял ... Я хочу, чтобы продукт отображался вместе с формой регистрации пользователя. После регистрации пользователь должен подтвердить право собственности на продукт. Поэтому мне нужно связать отображаемый продукт с учетной записью, которая будет создана. Не знаю, как это сделать, хотя ...
Я использую ManyToMany, потому что хочу иметь все продукты в базе данных, даже если они принадлежат пользователю или нет. После связи между пользователем и продуктом, вы не можете получить доступ к этому продукту, не войдя в систему. Я надеюсь, что это имеет смысл, все еще работая над логистикой, стоящей за этим :)
Любая идея о том, как достичь этот сценарий? Любая помощь будет высоко ценится :)