使用与数据库列相比更多键的关联数组来水合Eloquent模型对象

时间:2017-09-07 15:12:41

标签: php eloquent

我有一个名为players的数据库表,其中包含idnameteam列。该计划在Eloquent框架中使用Slim

<?php
// ... correct `require` and `use` lines ....

class Player extends Illuminate\Database\Eloquent\Model {
    protected $guarded = [];
}

$input = ['id'   => 4, 
          'name' => 'James Shelton', 
          'team' => 'Astrobots', 
          'year' => 1982];

$player = new Player($input);
$player->save();

上面的代码会产生关于没有'year'列的表的错误。我还尝试了hydratefill方法。

从关联数组中水合Eloquent模型对象的正确方法是什么,并且该对象只关注与模型数据库表中的列匹配的数组键?或者我错误地使用这些方法?

1 个答案:

答案 0 :(得分:2)

您需要指定可填写字段的列表以匹配您的数据库架构:

class Player extends Illuminate\Database\Eloquent\Model {
    protected $fillable = [
      'id', 
      'name', 
      'team'
    ] 
}

https://laravel.com/docs/5.4/eloquent

中读取“质量分配”部分