SQLSTATE\[HY000\]:一般错误:1364 字段“名称”没有默认值 laravel 5.5

新手上路,请多包涵

我盯着 Laravel 看,我在尝试做一个简单的插入时遇到了麻烦,但似乎我所有的可填写字段都没有被包括在内。这是错误:

 SQLSTATE[HY000]: General error: 1364 Field 'name' doesn't have a default value
(SQL: insert into `addresses` (`updated_at`, `created_at`)
values (2017-12-25 09:31:49, 2017-12-25 09:31:49))

如您所见,只有 created_atupdated_at 将被插入,我想也许我忘记了我的 fillable : 但这是我的模型

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Addresses extends Model
{

protected $fillable = [
    'name',
    'city',
    'suburb',
    'street',
    'o_number',
    'i_number',
    'postal_code',
    'phone_s',
    'email_s',
    'google_map',
    'customer_id'
];

}

和控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Addresses;
use App\Customers;

class AddressesController extends Controller
{
public function __construct()
{
    $this->middleware('auth');
}

public function store(Request $request){

    $create = Addresses::create([
        'name' => request('name'),
        'city' => request('city'),
        'suburb' => request('suburb'),
        'street' => request('street'),
        'o_number' => request('o_number'),
        'i_number' => request('i_number'),
        'postal_code' => request('postal_code'),
        'phone_s' => request('phone_s'),
        'email_s' => request('email_s'),
        'google_map' => request('google_map'),
        'customer_id' => Customers::where('code',$request->session()->get('customer_code'))->first()->id
    ]);

    $success = $create ? $request->session()->flash('success', '¡Registro exitoso!') : $request->session()->flash('success', 'Ooops! Algo salio mal :(');

    return redirect('addresses/'.$request->session()->get('customer_code'));
 }
}

回显 request() 值有效!所以我现在失踪了,我有一些其他的模型和控制器以同样的方式工作得很好。请帮忙!

原文由 DaveSanchez 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 811
1 个回答

显示此错误是因为您的数据库需要 NAME 字段。尝试编辑您的迁移脚本并在此字段上设置默认值或使其可为空。

例如。

$table->string('name')->nullable();

或者

$table->string('name')->default('');

然后运行迁移刷新。

原文由 jun drie 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题