Laravel数组值在模型创建方法上为NULL

时间:2017-01-05 16:45:01

标签: laravel model eloquent

非常怀疑。我有一个包含值的数组。但是当我在模型上使用create方法时,值为NULL。 当我使用更新功能时,所有值都是正确的。

protected function createProduct(array $data)
{
//        dd($data['category_id']);
    return Product::create([
        'category_id'     => $data['category_id'],
        'manufacturer_id' => $data['manufacturer_id'],
        'sku'             => $data['sku'],
        'collection'      => $data['collection'],
        'name'            => $data['name'],
        'name_en'         => $data['name_en'],
        'sku_supplier'    => $data['sku_supplier'],
        'order'           => $data['order'],
    ]);

//

1 个答案:

答案 0 :(得分:2)

create()正在使用mass assignment功能,因此您需要首先将所有值添加到$fillable属性,并将其添加到Product模型中:

class Product extends Model
{
    protected $fillable = ['category_id', 'manufacturer_id', 'sku', 'collection', 'name', 'name_en', 'sku_supplier', 'order'];

此外,您可以这样做来创建新产品:

return Product::create($data);