Laravel Eloquent不会将模型保存到数据库中

时间:2017-05-15 07:48:00

标签: php mysql sql laravel eloquent

我想用雄辩的方法在数据库上创建一条记录,但它一直告诉我这个错误:

Symfony\Component\Debug\Exception\FatalThrowableError: Type error: Argument 1 passed to Illuminate\Database\Grammar::parameterize() must be of the type array, string given, called in /path/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php on line 681 in /path/vendor/laravel/framework/src/Illuminate/Database/Grammar.php:135

我已记录要插入的数据:

array (
  'text_id' => 12,
  'user_id' => 2,
  'spots' => 
  array (
    0 => 'a',
    1 => 'd',
    2 => 'd',
    3 => 'r',
    4 => 'g',
    5 => 'h',
    6 => 'w'
  ),
  'type' => 'long',// error is on this field
)

会在类型字段中停止

我的表格列&类型:

'text_id' => INT,
'user_id' => INT,
'spots' => JSON,
'type' => VARCHAR(256),
'updated_at' => DATETIME
'created_at' => DATETIME

这是什么时候发生的?

1 个答案:

答案 0 :(得分:0)

在您的模型中,您需要将type强制转换为JSON。

protected $casts = [
    'type' => 'json',
];