【问题标题】:SQLSTATE[42S22]: Column not found: 1054 Unknown column '_token' in 'field list' (SQL: insert into `products`SQLSTATE [42S22]:找不到列:1054“字段列表”中的未知列“_token”(SQL:插入“产品”
【发布时间】:2020-09-17 15:24:35
【问题描述】:

此代码是我从互联网上获得的。我复制并粘贴它运行。 当我尝试插入产品时,出现此错误。

如何解决.................................................. ..................................................... .......

在 Chrome 中,

SQLSTATE[42S22]: Column not found: 1054 Unknown column '_token' in 'field list' (SQL: insert into `products` (`_token`, `title`, `product_code`, `description`, `image`) values (c7cye8TIyVIIQytZrY5fKjPmGzytoMsKPHNMY6US, efdfs, 243423, sdfsadfsd, C:\xampp\tmp\phpA0FA.tmp))

在控制器中,

public function store(Request $request)
{
$request->validate([
'title' => 'required',
'product_code' => 'required',
'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'description' => 'required',
]);
if ($files = $request->file('image')) {
$destinationPath = 'public/image/'; // upload path
$profileImage = date('YmdHis') . "." . $files->getClientOriginalExtension();
$files->move($destinationPath, $profileImage);
$insert['image'] = "$profileImage";
}
$insert['title'] = $request->get('title');
$insert['product_code'] = $request->get('product_code');
$insert['description'] = $request->get('description');
Product::insert($request->all());
return Redirect::to('products')
->with('success','Greate! Product created successfully.');
}

在创建页面中,

<form action="{{ route('products.store') }}" method="POST" name="add_product" enctype="multipart/form-data">
    {{ csrf_field() }}
    <div class="row">
        <div class="col-md-12">
            <div class="form-group">
                <strong>Title</strong>
                <input type="text" name="title" class="form-control" placeholder="Enter Title">
                <span class="text-danger">{{ $errors->first('title') }}</span>
            </div>
        </div>
        <div class="col-md-12">
            <div class="form-group">
                <strong>Product Code</strong>
                <input type="text" name="product_code" class="form-control" placeholder="Enter Product Code">
                <span class="text-danger">{{ $errors->first('product_code') }}</span>
            </div>
        </div>
        <div class="col-md-12">
            <div class="form-group">
                <strong>Description</strong>
                <textarea class="form-control" col="4" name="description" placeholder="Enter Description"></textarea>
                <span class="text-danger">{{ $errors->first('description') }}</span>
            </div>
        </div>
        <div class="col-md-12">
            <div class="form-group">
                <strong>Product Image</strong>
                <input type="file" name="image" class="form-control" placeholder="">
                <span class="text-danger">{{ $errors->first('image') }}</span>
            </div>
        </div>
        <div class="col-md-12">
            <button type="submit" class="btn btn-primary">Submit</button>
        </div>
    </div>
</form>

【问题讨论】:

  • 所以你正在构建这个名为 $insert 的数组,然后你没有使用它......

标签: php laravel


【解决方案1】:

你最好使用 $request->only('specify here fields to insert') 而不是 $request->all() - 有 csrf 令牌在提交的表格中

【讨论】:

  • $request-&gt;except('_token'); 来自请求
  • @sta,如果某个用户编辑表单并添加自定义输入属性,你会怎么做?
猜你喜欢
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 1970-01-01
  • 2017-03-29
  • 2015-01-19
  • 1970-01-01
  • 2019-10-14
  • 2021-10-31
相关资源
最近更新 更多