Laravel - Mongodb 创建新错误

Laravel - Mongodb Create new error

我正在使用 laravel-mongodb 库 ( https://github.com/jenssegers/laravel-mongodb )

当我想创建一个新记录时,我得到这个错误:

strlen() expects parameter 1 to be string, array given

在项目中。local/vendor/mongodb/mongodb/src/Collection.php:104

这是模特:Category.php

namespace App\Models;

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

class Category extends Eloquent
{
    protected $collection = [ 'categories' ];
    protected $fillable = [ 'name', 'parentId' ];
}

这是我的存储方法:

public function store(Request $request)
{
    // e1: Category::create([ 'name' => 'T-shirts' ]);
    $n = new Category;
    $n->name = 'T-shirts';
    $n->save();

    return back();
}

将您的 $collection 更改为字符串,您已将其设置为数组,这就是您收到该错误的原因

$collection = 'categories';

这是该库中的示例 github 自述文件

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

class User extends Eloquent {

    protected $collection = 'users_collection';

}