2016-07-19 5 views
1

Я следовал за laracast series и застрял в какой-то момент.Laravel 5 Нарушение ограничения целостности

я получил следующее сообщение об ошибке при попытке отправить почту в блоге:

QueryException в connection.php линии 713: SQLSTATE [23000]: Integrity нарушение ограничения: 1452 Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не удается (. codesharearticles, скованность articles_user_id_foreign FOREIGN KEY (user_id) Лит users (id) ON DELETE CASCADE) (SQL: вставить в articles (title, body, published_at, updated_at, created_at) значения (Lorem, Ipsum, 2016 - 07-19 10:11:49, 2016-07-19 10:11:49, 2016-07-19 10:11:49))

Странно, что представленная статья хранится в БД и также появляется в моем представлении статей.

ArticlesController:

public function store(ArticleRequest $request) { 
Auth::user()->articles()->save(new article($request->all())); 
Article::create($request->all()); 
return redirect('articles'); 
} 

Статья Модель:

public function user() { 
$this->belongsTo('App\User'); //user_id 
} 

Схема:

public function up() 
{ 
    Schema::create('articles', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->integer('user_id')->unsigned(); 
     $table->string('title'); 
     $table->text('body'); 
     $table->timestamp('created_at'); 
     $table->timestamp('published_at'); 

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

    }); 
} 

Любая идея, что причина для исключения?

ответ

1

Вы можете попытаться выйти из этой линии

Article::create($request->all()); 

, так как вы уже спасают статью с

Auth::user()->articles()->save(new Article($request->all())); 
+0

Отлично! Это сработало. Большое спасибо!!!! –

+0

Добро пожаловать @SteveBrown! Пожалуйста, примите этот ответ (и предыдущие ответы на ваши вопросы), щелкнув галочку, когда он решит ваш вопрос. Это не обязательство, но это может указывать другим пользователям, что ответы были полезными и дали некоторую репутацию вам и ответчикам. Ура! – piscator