为了账号安全,请及时绑定邮箱和手机立即绑定

19 FOREIGN KEY 约束在 Laravel 上失败

19 FOREIGN KEY 约束在 Laravel 上失败

PHP
烙印99 2021-12-24 09:30:51
我正在尝试将数据写入我的 SQLite 数据库。我认为我的迁移文件和外键存在错误。我试图更改文件的名称,使外键可以为空并清除 Laravel 的缓存。您是否熟悉错误处理程序显示的错误,或者您能否将我指向一个可以帮助我理解我做错了什么的页面?非常感谢您提前。迁移文件:<?phpuse Illuminate\Support\Facades\Schema;use Illuminate\Database\Schema\Blueprint;use Illuminate\Database\Migrations\Migration;class CreateSqrTable extends Migration{    /**     * Run the migrations.     *     * @return void     */    public function up()    {        Schema::create('sqrs', function (Blueprint $table) {            $table->bigIncrements('id');            $table->unsignedInteger('user_id')->nullable();             $table->string('qr_link');            $table->timestamps();            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');         });    }    /**     * Reverse the migrations.     *     * @return void     */    public function down()    {        Schema::dropIfExists('sqr');    }}模型文件:<?phpnamespace App;use Illuminate\Database\Eloquent\Model;// sQR stands for Saved QR-Codeclass sqr extends Model{    protected $fillable = [        'qr_link', 'user_id'    ];}保存的控制器:<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use App\sqr;class saveController extends Controller{    public function save(Request $request)    {        $sqr = new sqr;        $sqr->qr_link =     $request->qr_link;        $sqr->user_id =     1;        $sqr->save();        return redirect('/');    }}前端刀片文件:<form method="post" action="/save">        @csrf       <input type="hidden" name="qr_link" value="{{ session('url') }}">       <button class="btn btn-success">Save this QR</button>    </form>我得到的错误如下:SQLSTATE[23000]: Integrity constraint violation: 19 FOREIGN KEY constraint failed (SQL: insert into "sqrs" ("qr_link", "user_id", "updated_at", "created_at") values (images/1567444499.svg, 1, 2019-09-02 17:37:23, 2019-09-02 17:37:23))
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

@dparoli 在这篇文章的评论中说:

“您确定您在数据库中有一个 id = 1 的用户吗? – dparoli”

这是我的问题的答案。因为数据库中有 nog user = 1,所以崩溃了。


查看完整回答
反对 回复 2021-12-24
  • 1 回答
  • 0 关注
  • 212 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号