除了一个以外,为什么所有字段都正确存储?

时间:2017-12-13 11:52:56

标签: laravel

我正在创建一个像这样的提供者:

ADD <path-to-id_rsa-dir-on-windows> ~/.ssh/id_rsa

提供商实际上已经很好地创建了,除保险字段外,所有字段都正确存储。

保险领域不起作用,我无法弄清楚原因。

它是使用Laravel迁移工具创建的,如下所示:

$provider = Provider::create([
    'first_name' => $data['first_name'],
    'last_name' => $data['last_name'],
    'email' => $data['email'],
    'password' => bcrypt($data['password']),
    'is_available' => 1,
    'is_activated' => 1,
    'insurance' => 1
]);

Log::info($provider);

然后从终端:

class AddInsuranceToProvidersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('providers', function($table) {
            $table->integer('insurance');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        //
    }
}

以下是phpMyAdmin的样子:

enter image description here

我知道为什么我不能为保险领域节省任何价值?

另外,当我记录$ provider变量时,没有任何与保险领域相关的信息,你可以在那里看到:

  

[2017-12-13 12:36:54] local.INFO:   {&#34;如first_name&#34;:&#34; FEF&#34;&#34;姓氏&#34;:&#34; ewfe&#34;&#34;电子邮件&#34;:&#34; fel.bruno2njtz3@gmail.com",&#34; is_available&#34;:1,&#34; is_activated&#34;:1,&#34;的updated_at&#34;:&#34; 2017-12- 13   12:36:54&#34;,&#34; created_at&#34;:&#34; 2017-12-13 12:36:54&#34;,&#34; id&#34;:276}

由于答案,我能够通过将保险字段添加到提供者模型来解决问题,因为它现在看起来像这样:

php artisan migrate
php artisan cache:clear 

3 个答案:

答案 0 :(得分:1)

如果您设置&#34;可填写&#34;在你的模型中,你必须添加&#34;保险&#34;它的领域。

答案 1 :(得分:1)

由于您使用迁移更改了表格,因此您只需更新app目录中的InsuranceProvider模型,并将insurance字段添加到可填充数组中,以使其正常工作。

答案 2 :(得分:1)

由于您使用的是spnRelationType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { //here differentiate between different doc and relation uploadDocumentItemsClickListener.onSpinnerChangeListener(spnRelationType,getAdapterPosition(),adapterView.getSelectedItemPosition()); } @Override public void onNothingSelected(AdapterView<?> adapterView) { } }); 方法,因此您需要将字段添加到create()数组中:

$fillable

您需要这样做,因为protected $fillable = ['insurance', ....]; 正在使用create()方法为您填写模型字段。

https://laravel.com/docs/5.5/eloquent#mass-assignment