Не удается устранить эту ошибку. Нарушение ограничения целостности: 1451 Не удается удалить или обновить родительскую строку: ограничение внешнего ключа не выполнено - PullRequest
0 голосов
/ 10 июня 2019

Я хотел удалить учетную запись пользователя. Он отлично работает на простой учетной записи, когда я создаю учетную запись на Facebook и удаляю учетную запись на Facebook, она показывает мне эту ошибку.

Нарушение ограничения целостности: 1451 Невозможно удалить или обновить родительскую строку: сбой ограничения внешнего ключа (mood_db. activities, CONSTRAINT activities_user_id_foreign FOREIGN KEY (user_id) ССЫЛКИ users (id) ) * +1010 *

Я ищу решение этой проблемы, но не могу найти, почему не могу удалить аккаунт с Facebook. Вот код, который я использую для удаления учетной записи.

public function destroy($id)
{
    $user = User::find($id);

    $user->delete();

    return response()->json(['message' => 'User Deleted Succesfully'], 200);

}

Вот схема действий.

class CreateActivitiesTable extends Migration
{
/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
    Schema::create('activities', function (Blueprint $table) {
        $table->bigInteger('id', true)->unsigned();
        $table->text('activity_type');
        $table->bigInteger('user_id')->unsigned()->index('user_id');
        $table->bigInteger('category_id')->unsigned()->index('category_id');
        $table->bigInteger('subcategory_id')->unsigned()->index('subcategory_id');
        $table->text('activity_privacy');
        $table->integer('activity_privacy_visible')->default(0);
        $table->dateTime('activity_datetime_from');
        $table->dateTime('activity_datetime_to');
        $table->string('activity_address');
        $table->bigInteger('company_id')->unsigned()->nullable()->index('company_id');
        $table->decimal('latitude', 11, 8);
        $table->decimal('longitude', 11, 8);
        $table->integer('age_from');
        $table->integer('age_to');
        $table->string('people_limit')->nullable();
        $table->string('activity_picture')->nullable();
        $table->string('activity_title', 35)->nullable();
        $table->string('activity_description', 1000)->nullable();
        $table->timestamps();

        $table->foreign('user_id')
            ->references('id')
            ->on('users')
            ->onDelete('cascade');

        $table->foreign('category_id')
            ->references('id')
            ->on('categories')
            ->onDelete('cascade');

        $table->foreign('subcategory_id')
            ->references('id')
            ->on('subcategories')
            ->onDelete('cascade');

        $table->foreign('company_id')
            ->references('id')
            ->on('companies')
            ->onDelete('cascade');
    });
}

Пожалуйста, помогите Спасибо заранее.

1 Ответ

0 голосов
/ 11 июня 2019

Пожалуйста, установите код для файла модели.

class User extends Eloquent
{
    public function activities() {
        return $this->has_many('Activity');
    }

    // this is a recommended way to declare event handlers
    public static function boot() {
        parent::boot();

        // before delete call this for child activity records delete
        static::deleting(function($user) { 
             $user->activities()->delete();             
        });
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...