Laravel:PHP Artisan Tinker'SQLSTATE [23000]'错误

时间:2016-07-25 14:20:27

标签: php sqlite laravel command-prompt

所以我正在浏览laravel的一系列介绍视频,而我正处于数据库迁移部分,我正在努力解决一些事情......

这是错误...... enter image description here

我有a)不知道它意味着什么或指的是什么,因为这是我第一次涉及真正的命令提示符使用和b)如何解决它。

非常感谢任何帮助。

问候。

EDIT-1:这是我的迁移文件......

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateCardsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('cards', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('cards');
    }
}

编辑2: 这是我的命令提示符,它正在使用下面的答案,但现在使用原始的laracast教程。 enter image description here

1 个答案:

答案 0 :(得分:2)

这意味着您必须提供用户ID,因为您的架构规定卡属于用户。将['user_id'=>some user id]添加到您的数组中。

或者,在cards - 型号

上创建User关系
class User extends \Illuminate\Database\Eloquent\Model
{
    public function cards()
   {
      return $this->hasMany(Card::class);
   }
}

这样,您可以像这样创建一张卡片(假设你有一个用户变量,fx。通过调用User::first()User::find($id)等):

$user->cards()->create([...])