【问题标题】:"SQLSTATE[HY000]: General error: 1366 Incorrect integer value:"“SQLSTATE[HY000]:一般错误:1366 整数值不正确:”
【发布时间】:2019-07-29 17:50:49
【问题描述】:

我是 Laravel 的初学者,做回复功能。 如果您能修复此代码,我将不胜感激。

我收到了这个错误:

"SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '<div>da</div>' for column 'content' at row 1 (SQL: insert into `replies` (`content`, `discussion_ ▶"

2019_07_26_035335_create_replies_table.php
这就是我的桌子的样子:

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

class CreateRepliesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('replies', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->integer('user_id');
            $table->integer('discussion_id');
            $table->integer('content');
            $table->timestamps();
        });
    }

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

RepliesController.php

namespace LaravelForum\Http\Controllers;

use Illuminate\Http\Request;


// 2019/07/29
// C:\laravel-apps\bulletin-board\app\Http\Requests\CreateReplyRequest.php
use LaravelForum\Http\Requests\CreateReplyRequest;

// postscript 
use LaravelForum\Discussion;


class RepliesController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(CreateReplyRequest $request, Discussion $discussion)
    {
        // C:\laravel-apps\bulletin-board\app\Http\Requests\CreateReplyRequest.php
        auth()->user()->replies()->create([
            'content' => $request->content ,
            'discussion_id' => $discussion->id
        ]);

        session()->flash('success', 'Reply added');

        return redirect()->back();
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

C:\laravel-apps\bulletin-board\app\Reply.php

<?php

namespace LaravelForum;

class Reply extends Model
{
    //
    public function owner()
    {
        return $this->belongsTo(User::class, 'user_id');
    }
    public function discussion()
    {
        return $this->belongsTo(Discussion::class);
    }
}

C:\laravel-apps\bulletin-board\app\Http\Requests\CreateReplyRequest.php

<?php

namespace LaravelForum\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class CreateReplyRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            //
            'content' => 'required'
        ];
    }
}

【问题讨论】:

  • 您要在整数列中插入什么?字符串??

标签: laravel


【解决方案1】:

您正在为内容列使用$table-&gt;integer('content'); 整数值。而不是使用整数值,而是使用 $table-&gt;text('content'); 作为内容。我觉得您将回复正文称为内容。

【讨论】:

  • 感谢您回答我的问题。我重写了那个代码。但是,我仍然收到错误。
  • public function up() { Schema::create('replies', function (Blueprint $table) { $table->bigIncrements('id'); $table->integer('user_id' ); $table->integer('discussion_id'); $table->text('content'); $table->timestamps(); }); }
  • "SQLSTATE[HY000]: 一般错误:1366 不正确的整数值:'
    helllo
    ' 列 'content' 在第 1 行(SQL:插入到 replies (@ 987654324@,`讨论▶"
  • 重写代码后是否运行php artisan migrate:fresh命令?
  • 现在,我无法打开底部的频道下拉菜单,并且左侧的列表消失了。你有什么想法吗?
猜你喜欢
  • 2012-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多