“ SQLSTATE [HY000]:常规错误:1366不正确的整数值:”

时间:2019-07-29 04:35:38

标签: laravel

我是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
这是我的桌子的样子:

<?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

<?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'
        ];
    }
}

1 个答案:

答案 0 :(得分:0)

您正在为内容列使用$table->integer('content');整数值。而不是使用整数值,对内容使用$table->text('content');。据我所知,您将回复正文作为内容。