Я следовал за laracast series и застрял в какой-то момент.Laravel 5 Нарушение ограничения целостности
я получил следующее сообщение об ошибке при попытке отправить почту в блоге:
QueryException в connection.php линии 713: SQLSTATE [23000]: Integrity нарушение ограничения: 1452 Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не удается (.
codeshare
articles
, скованность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');
});
}
Любая идея, что причина для исключения?
Отлично! Это сработало. Большое спасибо!!!! –
Добро пожаловать @SteveBrown! Пожалуйста, примите этот ответ (и предыдущие ответы на ваши вопросы), щелкнув галочку, когда он решит ваш вопрос. Это не обязательство, но это может указывать другим пользователям, что ответы были полезными и дали некоторую репутацию вам и ответчикам. Ура! – piscator