【问题标题】:Laravel bad query insertLaravel 错误查询插入
【发布时间】:2019-12-05 16:34:18
【问题描述】:

我在向我的数据库中插入数据时遇到问题,并且总是出现以下错误。

SQLSTATE[22003]:数值超出范围:1416 无法从您发送到 GEOMETRY 字段的数据中获取几何对象

我尝试使用查询构建器在我的 Eloquent 模型中插入数据,但它给了我同样的错误。在迁移文件中我有:

Schema::create('books', function (Blueprint $table) {
    $table->bigIncrements('id')->autoIncrement()->primary();
    $table->text("name");
    $table->multiLineString("opinion");
    $table->string("post");
    $table->timestamp("date");
});

我也试过用这个插入数据:

$validatedData = $this->validate($request, [
    'name'    => 'required|alpha_dash|max:40|min:3',
    'opinion' => 'required|alpha_dash|max:40|min:3',
]);

$validatedData = Binput::all();

DB::table("books")->insert([
    "name"    => $validatedData["name"],
    "post"    => $url,
    "opinion" => $validatedData["opinion"],
]);

【问题讨论】:

  • dd($validatedData["opinion"]); 的输出是什么?
  • array:3 [▼ "name" => "string" "opinion" => "string" "submit" => "string" ]
  • 意见是字符串,它是“filali”

标签: mysql laravel


【解决方案1】:

我不知道这个Binput::all(); 来自哪里。

你能不能试试删除这行$validatedData = Binput::all();

应该是:

$validatedData = $this->validate($request, [
    'name'    => 'required|alpha_dash|max:40|min:3',
    'opinion' => 'required|alpha_dash|max:40|min:3',
]);

DB::table("books")->insert([
    "name"    => $validatedData["name"],
    "post"    => $url,
    "opinion" => $validatedData["opinion"],
]);

【讨论】:

    【解决方案2】:

    我通过更改迁移而不是字符串和文本来解决它我做了 char 并且它工作

                $table->bigIncrements('id')->autoIncrement()->primary();
                $table->char("name");
                $table->char("opinion");
                $table->char("post");
                $table->timestamps();
    

    当我尝试此迁移时,它可以工作 谢谢大家

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 2019-05-05
      • 1970-01-01
      相关资源
      最近更新 更多